标题:c语言的一个程序问题
只看楼主
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
结帖率:100%
已结贴  问题点数:10 回复次数:9 
c语言的一个程序问题
#include<stdio.h>
main()
{
    int nb,nt,nl;
    nb=nt=nl=0;
    while(getchar()!=EOF)
    if(getchar()==' ')
    ++nb;
    if(getchar()=='\t')
    ++nt;
    if(getchar()=='\n')
    ++nl;
    printf("%d %d %d\n",nb,nt,nl);
    }

大家帮忙看一下 又没错的地方   我这到题目是这样的 编写一个统计空格、制表符与换行符个数的程序。
还有就是运行之后  我应该怎样输入字符  因为我每次运行时 输入字符 他不运行任何东西  我感到很纳闷
搜索更多相关主题的帖子: c语言 东西 换行符 制表符 
2012-01-11 17:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:1 
在while()中你getchar()之後,裏面又getchar()多次,判斷的是哪個搞清楚了沒有?到底程序的邏輯怎麼運作,好好想一下!

[ 本帖最后由 TonyDeng 于 2012-1-11 18:10 编辑 ]

授人以渔,不授人以鱼。
2012-01-11 17:56
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:1 
回复 楼主 人生地不熟
缺{}的问题你已经出了几次了

总有那身价贱的人给作业贴回复完整的代码
2012-01-11 18:18
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
得分:0 
回复 3楼 embed_xuel
我就出现一次却{}  这次不缺啊
2012-01-11 21:16
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
得分:0 
回复 2楼 TonyDeng
他们几个都需要判断的  他这一个条件适合下面三个if 的 拜托 你们你们耐心点帮我看看  或者帮我在编个  给我这个初涉才c语言的人指点下迷经  我在这里谢谢各位了
2012-01-11 21:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:2 
不看你花括號的問題,只要你自己想一下,後面getchar()的字符還是不是上面while中getchar()的那個?正確的做法是先把getchar()得到的字符賦給一個變量ch,讓各個if去判斷ch,而不是重新再getchar()一個。學編程技巧不要學末節,總想節省變量,連ch也省了,整個邏輯錯誤,自己沒有意識到?

[ 本帖最后由 TonyDeng 于 2012-1-11 21:31 编辑 ]

授人以渔,不授人以鱼。
2012-01-11 21:28
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
得分:0 
回复 6楼 TonyDeng
这位大哥你说的很对  希望以后经常来斧正我的程序  我是有点笨 有些东西不懂  我不怕别人说的 你尽管批评 我会虚心接受的 刚说的一点 我记住了  
2012-01-11 21:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:4 
你1樓的代碼while後面確實是缺了花括號的,應該把那幾個if都用花括號括起來,讀入一個字符,分別判斷是否那三個字符,然後才能讀下一個,這就是我上面說必須用一個變量把讀入的字符儲存起來使用的原因(如果只用一次就可以丟棄的,才可以不用變量暫存)。

授人以渔,不授人以鱼。
2012-01-12 01:26
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:1 
我也是没关注if里面是啥东西,打开帖子的时候一眼望过去缺{}就没再多看一眼

总有那身价贱的人给作业贴回复完整的代码
2012-01-12 01:57
smallmoon521
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:517
专家分:1373
注 册:2008-4-21
得分:1 
C区有你们会越来越好的

为游戏狂~~!!    大家努力编哈!
2012-01-12 08:04



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




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

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