int i;
cin>>i;
cout<<i
当我们输入字符即'A'时为什么它给出零输出?
答案 0 :(得分:7)
因为A
不是一个适合存储在整数中的数值,所以它将保留你的整数,如下所示:
#include <iostream>
int main (void) {
int i = 12345;
std::cin >> i;
std::cout << i << std::endl;
return 0;
}
当您运行该代码并输入A
时,它会输出12345
,因为该值不会更改。
如果你想要真正强大的输入,通常最好将行输入为字符串然后自己转换它们。
“Mickey-mouse”程序或您完全控制输入的程序可以使用您正在使用的输入方法,严格的代码应该使用更合适的方法。
如果您的意图是将输入字符转换为整数代码,则可以使用以下内容:
#include <iostream>
int main (void) {
char c;
std::cin >> c;
std::cout << (int)c << std::endl;
return 0;
}
答案 1 :(得分:6)
在继续之前,您应该始终检查操作是否成功。
int i;
if (cin >> i)
cout << i;
else
cout << "Not a valid number!";
答案 2 :(得分:0)
因为值'A'没有存储在变量i中,因为它是一个整数变量。我相信这就是屏幕上打印初始值12345的原因......