不论是while还是goto编译运行后都是无限输出“not a number”, 求问这是为什么, 代码如下:
int main(){
int a, result{ 1 };
cout << "input a number:" << endl;
// retry:
// try{
// cin >> a;
// if (cin.fail())
// throw runtime_error("not a number!");
// }catch(runtime_error e){
// cout << e.what() << endl;
// goto retry;
// }
while(!(cin >> a)){
cout << "not a number!" << endl;
}
do{
result *= a;
}while(a-- > 1);
cout << "result is:\n\t" << result << endl;
return 0;
}
C++ while(cin >> n)求助
cin是回车时候处理,也就是说,如果你连续输入:1空格2空格3回车 那么,在3再回车之后才会有显示。
c++ while(cin>>a)的问题
楼上答的0是错误的。你应该按下ctrl-z。然后回车 void main(){ int a;while(cin>>a);printf("%d\\n", a);system("pause");} 用此代码调试成功 其实你不用Ctrl-z,改输入任何一个字母也都能直接退出循环,并且保存上一个输入的有效值 ...
C++ 关于while(cin>>n)的问题
int N;while(cin>>N){ } cout<<N;return 0;} 这样就可以 将N定义为int类型,只要输入非数字字符,就会结束循环 只要输入类型和N匹配,那么cin就返回真,while循环就会一直继续下去
while(cin)
一般是while ( cin >> n )就是说一直读入一个变量直到末尾,当遇到EOF(即结尾,可以用ctrl+z来打出来)就跳出循环。如果是这样就是一直循环的意思,和while(1)一样。
c++中如何结束while(cin>>ch),按ctrl_z和ctrl-d都不管用,哪位大侠指点...
C++ Primer中讲while时专门说过这个问题,cin返回的是一个istream对象,所以它一般都为真,两种情况下结束,一种是输入错误(比如你的ch是一个int型你输入的是char),另一个使用文件结束符,不同的系统有不同的文件结束符。他说windows下是control-z具体你为什么使用ctrl+z结束不了我也不知道了,...
c++编程问题 (关于cin的)
第一个cin是用户第一次输入的值,但是你要统计用户输入的正负的个数,那必然是输入多个值。所以在while循环里面的末尾添加cin的作用就是 用户以后输入的值了,知道用户输入0则停止。在while里cin>>n n的值就改变了,那么while()就会触发,进而判断是否满足条件。第二个cin是不指定次数循环进行的必要...
c++代码中while(cin>>a)是什么意思??
cin>>a的意思是让你从键盘上输入个字母或字符串之类的,然后存在变量a里面。while(cin>>a)意思是括号里的数据逻辑为真则执行后面的程序,为假则不执行。
如何解决C++中while(cin.get!='\\n')吐字符的问题
char a[3][30];char b[3][30]; \/\/如果定义成a[3][3]则每行最多只能有两个有效的字符,虽然你看到能正常输出,但已经产生内存越界访问了。循环改成:do { cin>>a[i1++];} while(cin.get()!='\\n') ;do { cin>>b[i1++];} while(cin.get()!='\\n') ;...
c++ while什么意思
cin是输入操作符,cin>>a的过程是先取得从键盘的输入值a,并将a赋给cin,因此while(cin>>a)的意思就是只要输入的值有效,那么就执行while体内的语句。实例设计如下:1、统计输入连续数字的个数,while循环结束 (跳出流对象)的时候,打印最后一个数 。通过检测其流的状态来判断结束;(1)若流是...
c++ 中 while ((cin >> c1) != 'f') 可以这么用吗
不能。cin>>c1的返回值就是bool值,所以可以这么用:while(cin>>c1){ if(c1!='f'); { \/\/如果输入错误 cerr<<"bad data,try again."<<endl; cin.clear();\/\/清除cin的错误状态 cin.sync(); \/\/清空cin缓冲区 }};...