如果你有一个未初始化的本地
int
,那么它会得到一个未定义的值,但是如果你有一个本地的char
变量,它不应该也有一个未定义的值吗?当然,0可以是这个未定义的值,但我想知道char是否有所不同,因为我找到的所有相关信息都是关于int
的,而下面的程序只是在将char变量强制转换为int时输出0。我正在使用没有标志的GCC 4.7。int main()
{
char test1;
int test2;
std::cout<<test2; //garbage
std::cout<<std::endl;
std::cout<<(int)test1; //0
return 0;
}
char
和unsigned char
。 - M.M