1 #include<stdio.h>
2 int main(void)
3 {
4 long num;
5 long sum=0;
6 int status;
7
8 printf("Please enter an integr to be summed.");
9 printf("q to quit): ");
10 status=scanf("%ld",&num);
11 while(status==1)
12 {
13 sum=sum+num;
14 printf("please enter next integr (q to quit): ");
15 status=scanf("%ld",&num);
16 }
17 printf("those integers sum to %ld.\n",sum);
2 int main(void)
3 {
4 long num;
5 long sum=0;
6 int status;
7
8 printf("Please enter an integr to be summed.");
9 printf("q to quit): ");
10 status=scanf("%ld",&num);
11 while(status==1)
12 {
13 sum=sum+num;
14 printf("please enter next integr (q to quit): ");
15 status=scanf("%ld",&num);
16 }
17 printf("those integers sum to %ld.\n",sum);
18 return 0;
注意点:
1.status=1,是把1赋值给status while(status==1),使用status==1 判断条件,只要status等于1,那么循环继续进行
2.scanf()函数 如果scanf()成功读入了一个整数,就把这个整数放在num中并返回值1,随后1赋值给status。列如程序中输入q,那么scanf()就不能读入一个整数,所以返回值和status值都是0,导致循环终止。 这里着重介绍了scanf()函数的双重用法
3.同时这个程序也是一个伪代码的例子。伪代码是一种用简单的英语来表示程序的方法,它与计算机语言的形式相对应
4.总之,while循环是一个入口条件循环,所以程序必须在进入循环体之前获得输入并检查status的值。