标题:printf在循环后无法输出
只看楼主
oololoo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-4-19
结帖率:100%
已结贴  问题点数:20 回复次数:3 
printf在循环后无法输出
我今天刚开始学C..看的是K&R的《The C programming Language》
尝试了下例子,可是却无法输出printf里的内容,把while去掉后可以显示,所以应该不是printf本身的问题,求解..
程序代码:
#include <stdio.h>
#define IN   1  /* inside a word */
#define OUT  0  /* outside a word */
/* count lines, words, and characters in input */

main() {
    int c, i, nwhite, nother;
    int ndigit[10];
    nwhite = nother = 0;
    for (i = 0; i < 10; ++i)
        ndigit[i] = 0;
    while ((c = getchar()) != EOF) {
        if (c >= '0' && c <= '9')
            ++ndigit[c-'0'];
        else if (c == ' ' || c == '\n' || c == '\t')
            ++nwhite;
        else
        ++nother;
    }
    printf("digits =");
    for (i = 0; i < 10; ++i)
        printf(" %d", ndigit[i]);
    printf(", white space = %d, other = %d\n", nwhite, nother);
}
搜索更多相关主题的帖子: word outside color 
2013-04-19 23:00
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
得分:0 
while ((c = getchar()) != EOF)//你这个while的结束条件不满足是不会跳出循环的,是会一直循环下去后面的都没执行到
2013-04-19 23:44
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
得分:20 
while ((c = getchar()) !='\n')//当回车时结束while
收到的鲜花
  • oololoo2013-04-20 00:06 送鲜花  3朵   附言:我很赞同
2013-04-19 23:46
oololoo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-4-19
得分:0 
回复 3楼 小xiong
谢谢了030
不过EOF不是指结尾么?
2013-04-20 00:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-404903-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.280275 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved