我写的一段小代码有点不懂 #include<iostream> using namespace std; int main() { int sum=0,i; while(cin>>i) sum=sum+i; cout<<"the sum is :"<<sum<<endl; return 0; } 谁能帮我解释一下呢,看书上的看不懂
[解决办法] 输入一些数求和,直到按ctrl + z退出 你这程序有问题啊,按ctrl + z退出又看不到输出的和 [解决办法] C++ Primer 上的吧
看着很面熟 [解决办法] #include<iostream> using namespace std; int main() { int sum=0,i;//变量声明 while(cin>>i)//循环输入 sum=sum+i;//和数递增 cout<<"the sum is :"<<sum<<endl;//退出循环时,输出和数 return 0; }
[解决办法]
[解决办法] #include<iostream> using namespace std; int main() { int sum=0,i; //建议初始化i while(cin>>i) //从键盘输入数值类形数据 输入字符则跳出循环(遇错或遇到文件尾时读取结束)可以有以下形式输入 1 2 3 + 回车 或者 1 + 回车 程序会先将 i 初始化,然后与Sum相加 ,接着继续将2赋值给i,相加,继续赋值 这时候程序不会结束,需要你输入Ctrl+z 加回车结束 (至于为什么可以搜下这篇文章《C++关于while(cin)-缓冲相关》)用来跳出当前的while循环 sum=sum+i; cout<<"the sum is :"<<sum<<endl; return 0; } [解决办法] 5楼说得比较清楚了 在windows环境下 采用的阻塞式检查方式。所以使用ctrl+z来作为流结束的标志。来跳出当前的while循环。 4楼说的 如果定义成char型 那么数字和字符都将无法结束当前while循环。