c++中通过cin将字符串传给int类型回怎么样?
问题描述:
我首先定义一个int类型的变量a,通过cin传入一个字符串企图赋值给这个变量a,我知道a会被赋值为0,但下面的这段代码为什么会一直无限循环呢?
#include<iostream>
using namespace std;
int main()
{
int a;
while (true)
{
cout << "请输入一个数字" << endl;
cin >> a;
cout << "您输入的数字是:" << a << endl;
}
}
输出的结果是:
答
while (true)一直为真,你没有跳出循环的语句
改成这样就行了:
#include<iostream>
using namespace std;
int main()
{
int a;
while (a)
{
cout << "请输入一个数字" << endl;
cin >> a;
cout << "您输入的数字是:" << a << endl;
}
}
答
因为你给你的int输了一个不是数值类型的字母。
答
你的while()条件永远是真,怎么会退出循环呢