如果您说一个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;
}