m0_50837237 2021-09-09 17:01 采纳率: 100%
浏览 122
已结题

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;
    }
}

输出的结果是:

img

  • 写回答

3条回答 默认 最新

  • 关注

    while (true)一直为真,你没有跳出循环的语句
    改成这样就行了:

    #include<iostream>
    using namespace std;
    int main()
    {
        int a;
        while (a)
        {
            cout << "请输入一个数字" << endl;
            cin >> a;
            cout << "您输入的数字是:" << a << endl;
        }
    }
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月17日
  • 已采纳回答 9月9日
  • 创建了问题 9月9日