永发信息网

c++的for循环的问题

答案:5  悬赏:30  手机版
解决时间 2021-05-07 21:13
  • 提问者网友:寂寞梧桐
  • 2021-05-06 22:47

#include<iostream>
using namespace std;
void main()
{
for(;;)
{
int a;
cin>>a;
cout<<a<<endl;
}
}

这段代码不是应该在输入一个数之后才循环的么

就是说输入3 然后程序输出3 接着要我们再输入一个数之后才继续循环

可是为什么输入非数字之后

就自动循环了呢?

最佳答案
  • 五星知识达人网友:玩家
  • 2021-05-06 22:59

你这个for循环根本没有判断条件。。所以相当于死循环 一直会循环的。。不论你输入发么 都会循环的,还有。。你虽然a是int型的。能保存整形。但是你输入非数字,如字母,他保存的是他们的ASCII码。

全部回答
  • 1楼网友:第四晚心情
  • 2021-05-07 02:50
输入数字是什么结果?
  • 2楼网友:你哪知我潦倒为你
  • 2021-05-07 02:01

我觉得首先要明白 for(;;)的用法,这个你应该明白的,之后就是这个程序的分析了:

#include<iostream> using namespace std; void main() { for(;;)

//这里没有 for(AAA;BBB;CCC) {---------} 其中的首句AAA语句,判断条件BBB,即循环后句CCC都省略了 { int a;  //定义变量 a, 只要在使用前定义,但是,不建议在循环体内定义,建议定义在循环体外.... cin>>a; // 由于该句 输入接受语句在循环体内,故每一次循环都要输入; cout<<a<<endl; //在输入时候,由于循环,立刻输出.... } } //你先在输入一次之后便循环,那是有别的作用,而不是在这里的程序;

  • 3楼网友:一把行者刀
  • 2021-05-07 01:29

这是C#的语句,,你看下有没帮助

string sTemp; int iCount;

Console.WriteLine("请输入一个数字: "); sTemp = Console.ReadLine();

try { iCount = Int32.Parse(sTemp);

for (int i = 0; i < iCount; ++i) { Console.Write("* "); } } catch (Exception e) { Console.WriteLine("你输入的'{0}'不是一个有效的整数", sTemp); }

  • 4楼网友:慢性怪人
  • 2021-05-07 00:18

不会吧?真的像你说的那样呀?没想通,希望你想通了或者解决了告诉我下,谢了~

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯