| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1400 人关注过本帖
标题:还是2次输出问题,好郁闷
取消只看楼主 加入收藏
sf469210604
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2008-9-26
收藏
 问题点数:0 回复次数:3 
还是2次输出问题,好郁闷
用getchar()编写程序,从键盘读入字符,知道遇上#停止,计算a, b, c出现次数
#include "stdio.h"

int main(void)
{
    int   a ,b ,c ;
    int   d;
    a = b = c = 0;
    while((d = getchar()) != '#'){
        if (d == 'a')
            ++a;
        if (d == 'b')
            ++b;
        if (d =='c')
            ++c;
      putchar(d);
      printf("\na is printed  %d, b is printed  %d, c is printf  %d.\n",a, b, c);
       
     }
    return 0;
}
如果输入d,就显示
d
a is printed 0, b is printed 0, c is printed 0.

a is printed 0, b is printed 0, c is printed 0.
不解中
搜索更多相关主题的帖子: 输出 
2008-09-30 14:34
sf469210604
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2008-9-26
收藏
得分:0 
[bo][un]守鹤[/un] 在 2008-9-30 14:50 的发言:[/bo]

定义 d的数据类型为  char,

就可以了

不好意思啊,貌似还是不行,输出还是2次
2008-09-30 18:31
sf469210604
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2008-9-26
收藏
得分:0 
[bo][un]qqzmh[/un] 在 2008-9-30 15:50 的发言:[/bo]

d
a is printed 0, b is printed 0, c is printed 0.
这下面一行是你敲回车时存在字符缓冲区的回车符没有显示出来。
a is printed 0, b is printed 0, c is printed 0.

他为什么会显示??
要怎么做才能不显示呢??
2008-09-30 18:32
sf469210604
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2008-9-26
收藏
得分:0 
#include "stdio.h"

int main(void)
{
    char    a;
    printf("input a letter:  \n");
    scanf("%c\n",&a);
    printf("%c is printed.\n",a);
    return 0;
}
这个输出很有问题啊,输入c的时候没显示,再输入另一个字符输出c,搞不懂了
2008-09-30 19:20
快速回复:还是2次输出问题,好郁闷
数据加载中...
 
   



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

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