wlbk.net
当前位置:首页 >> C++中whilE(Cin)的问题 >>

C++中whilE(Cin)的问题

#include using namespace std; int main(){ int a=-5, result=1 ; jiedian : cout >a; //防止这里自动用 上次的缓存赋给 a 而不是停下等你输入? if ( !(a>0) ){ cout 1); cout

你可以在里面加一个判断 while (cin >>a) { if(cin) {你要做的事情} else {return;} } 这样只要输入的不是整数就会跳出循环,你也可以用ctrl+c跳出循环

#include "iostream" using namespace std; int main() { int N; while(cin>>N) { } cout<<N; return 0; } 这样就可以 将N定义为int类型,只要输入非数字字符,就会结束循环 只要输入类型和N匹配,那么cin就返回真,while循环就会一直继续下去

break是退出while循环的意思.while(cin>>k)当输入值与k的类型不匹配时,不执行while中的语句,直接退出while.

你的a 类型有点问题,他不能接受整数以外的类型,所以cin>>a这句在接受到EOF、ctrl+z都会失败,所以就只有fail有效.而且正常输入的EOF是字符串,并非是结束符eof,只有ctrl+z才有效.#include<iostream>#include <string>using

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') ;

改用getline()函数:#include<iostream>#include<string>using namespace std;int main(){ string s1,s2; cout<<"Enter s1:"<<endl; getline(cin,s1); cout<<s1<<endl; getchar(); cout<<"Enter s2:"<<endl; getline(cin,s2); cout<<s2<<endl; return 0;}//结果:

c++中while的用法如下:while(条件) {} 当条件为假时结束循环.如while(0){}. { }里的命令不执行结束循环; do {} while() 当条件为假时结束循环. 但d0 {} while(0) 先执行一次在结束

cin>>a的意思是让你从键盘上输入个字母或字符串之类的,然后存在变量a里面.while(cin>>a)意思是括号里的数据逻辑为真则执行后面的程序,为假则不执行.

输入完字符串之后记得是回车,然后再输入CTRL+Z

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com