Ⅰ. while(1){ }会一直执行循环;while(1,n){ } 当n=0时会跳出循环,一般可用于 while(scanf("%d",n),n){ } 当n=0时会跳出循环。
举个栗子:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int n=2;
while(scanf("%d",&n),n){
int x,sum = 0;
for(int i = 0; i < n; ++i){
scanf("%d",&x);
sum += x * x;
}
printf("%d\n",sum);
}
return 0;
}
例子的内容是,循环输入一个数 n ,输入 n 个数 x ,程序会计算 n 个 x 的平方和,直到 n = 0 时,跳出 while() 循环结束程序。其实也就是可多次执行求 n 个数的平方和,当 n = 0 时不再执行。
Ⅱ. while(scanf("%d",n) == 1){ } 当scanf返回值为0时结束循环。
举个栗子:
#include<iostream>
#include<cstdio>
using namespace std;
int main1(){
char str[201];
int cnt;
gets(str);
while(scanf("%d",&cnt) == 1){ <pre name="code" class="cpp"><span style="white-space:pre"> </span>while(cnt--)
{ puts(str); } } return 0;}
例子的内容是,输入一个长度小于 200 的字符串,输入一个数 cnt ,程序会循环输出这个字符串。本程序可多次执行,当 scanf() 返回值不等于 1 时结束循环。
注:第一次写技术博客,我觉得写博客的目的就是记录自己学习到的知识点,方便回顾以及和大家分享自己的学习成果。内容比较基础,还望大神多多包含,哈哈。