昨天,终于搞明白用whlile语句来多组输入到底怎么一回事,希望能让大家明白:
就比如说有一个题,要你多组输入,当输入为0时结束程序,你该用while语句怎样去写呢?
开始我并不太明白,以为while(scanf("%d",&n)!=0)就可以达到目的,其实要明白在while里scanf()的返回值是正确输入的变量的个数,比如当你输入一个数,他返回的值就是1,while(scanf("%d",&n)!=0)就相当于while(1!=0),显然这样写,并不是输入0时,程序结束。
所以有两种方法:
1.while(scanf("%d",&n)) //当n有输入时
{if(n==0) //如果n=0
break; } //程序结束
2.while(~scanf("%d",&n)&&n!=0)
注意:~的意思实际上是检测是不是到文件尾,没 ~就错了
写了这么多东西,希望对大家有所帮助啊。
热门工具 换一换