我是 C++ 的新手。小代码示例如下:
int main(int argc, char* argv[]) {
char ch1;
int int1;
cin >> ch1;
cin >> int1;
cout << ch1 << '\n';
cout << int1 << '\n';
return 0;
}
当我运行程序并输入以下内容时:
az
我得到的输出:
A
32767
我理解“a”,但为什么是整数值 32767?我只是想测试一下,看看如果我使用“z”而不是分配给 int1 的数值会发生什么。
我尝试输入:
ax
...我也得到了相同的结果。
现在如果代替int int1
I use short int1
并输入以下内容运行程序:
az
我得到输出:
a
0
P.S.
sizeof(int) = 4
sizeof(short) = 2
我使用的是 64 位机器。
当输入流无法读取有效数据时,它不会更改您传递给它的值。 'z' 不是有效数字,因此 int1 保持不变。 int1 未初始化,因此它的值恰好为 32767。读取数据后检查 cin.fail() 或 cin.good() 的值,以确保一切按您期望的方式工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)