| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:初级问题,大家近来答下^^
只看楼主 加入收藏
showtime110
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-2-18
收藏
 问题点数:0 回复次数:2 
初级问题,大家近来答下^^
#include <stdio.h>
/*统计数字空白付及其他字符出现的次数*/
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);
}

程序中++ndigit[c-'0']是什么意思?
如果输入一个数字9那么这句就是++ndigit[9-'0']
就是++ndigit[9]是吗
如果下个数字是8
那就是++ndigit[8]
看起来觉的不对,可能我理解不对
高手帮我讲解一下
谢谢
搜索更多相关主题的帖子: 初级 
2005-03-03 19:28
lzm0915
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-3
收藏
得分:0 
如果输入的是9,则那句就是++ndigit['9'-'0']
在c里面,字符可以相加减,我认为你说的应该是对的,
希望我没说错
哈哈!!
2005-03-03 20:39
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
差不多,请查看ACSII字符表。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-03-03 23:32
快速回复:初级问题,大家近来答下^^
数据加载中...
 
   



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

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