首页 > 其他 > 详细

一段C程序分析

时间:2014-03-16 18:37:58      阅读:480      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 void main()
 5 {
 6     int i;
 7     int sum = 0;
 8     char ch;
 9 
10     printf("请输入一串整数和任意数目的空格: ");
11 
12     while( scanf("%d", &i) == 1 )
13     {
14         sum += i;
15 
16         while( (ch=getchar()) ==   )
17             ;
18         if( ch == \n ) 
19         {
20             break;
21         }
22 
23         ungetc( ch, stdin );
24     }
25 
26     printf("结果是: %d", sum);
27     printf("\n");
28     system("pause");
29 }
bubuko.com,布布扣

分析:该程序让用户在终端输入一连串的数字和空格,以换行符结束输入,并计算数字之和。

scanf("%d",&i)会忽略开头的一系列空格取到第一个数字,随后的空格会被getchar()接收并吸收掉。当ch = getchar()再次遇到数字时,需要将ch中的数值返回到stdin流中(例如11  22,getchar()将在一系列空格后吸收到2,此时需要将2返回到输入流中)。当getchar()遇到的字符为回车符时,将结束输入。

一段C程序分析,布布扣,bubuko.com

一段C程序分析

原文:http://www.cnblogs.com/la0bei/p/3603494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!