我想知道为什么这两个代码给出不同的输出?
int main()
{
char a;
a = 50;
printf("%d \n\n", a);
return 0;
}这个给出了50作为输出。
int main()
{
char a;
a = 50;
cout << "Test : " << a << "\n\n";
return 0;
}而这个输出2...
发布于 2018-08-03 19:13:56
第一个示例输出50的原因是因为printf期望使用%d指定的整数,将其更改为%c,它将输出2,其ASCII值为50。
第二个示例输出2,因为您已经将a定义为char,这意味着它将查找ASCII值。
您可以查看不同符号here的ASCII值。
https://stackoverflow.com/questions/51671273
复制相似问题