while()的一些基础知识与用法,及scanf返回值问题。(新人求罩^_^)

来源:互联网 发布:win10需要优化软件吗 编辑:程序博客网 时间:2024/06/10 18:47

Ⅰ. 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 时结束循环。


注:第一次写技术博客,我觉得写博客的目的就是记录自己学习到的知识点,方便回顾以及和大家分享自己的学习成果。内容比较基础,还望大神多多包含,哈哈大笑

1 0
原创粉丝点击