| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:有些小问题,麻烦有空的人儿进来瞧瞧
只看楼主 加入收藏
五号
Rank: 2
等 级:论坛游民
帖 子:31
专家分:27
注 册:2011-10-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
有些小问题,麻烦有空的人儿进来瞧瞧
int main()
{  int i,a[1000]={0};     
    char c;   
  for(i=0;;i++)
  {scanf("%c",&c);
  if(c=='\n')break;
    a[c]++;
   }
   for(i=0;i<1000;i++)
  if(a[i]!=0) printf("%c %d\n",i,a[i]);

}


本人绝对新手,刚在网上看到个代码,想问2个问题。求高手解答
一:a[c]++的含义是什么  起到的作用是什么。
二:字符是在哪一步赋给i的。
   
2011-11-24 15:56
编程弱者
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:103
注 册:2011-11-17
收藏
得分:4 
1, a[c]++数组向后加一然后不断对数组进行赋值
2:数组a[]不断对i赋值
个人见解 希望对你有帮助
2011-11-24 16:07
五号
Rank: 2
等 级:论坛游民
帖 子:31
专家分:27
注 册:2011-10-20
收藏
得分:0 
回复 2楼 编程弱者
那a[c]++可以理解为a[i]=c么
2011-11-24 16:20
duanlt8
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:70
专家分:107
注 册:2011-9-15
收藏
得分:4 
主要就是自动类型转换
输入的char是自动转成int存在相应的下标里面的
然后输出的时候.把下标按照char输出
2011-11-24 21:17
五号
Rank: 2
等 级:论坛游民
帖 子:31
专家分:27
注 册:2011-10-20
收藏
得分:0 
回复 4楼 duanlt8
那a[c]++后面的++是相当于a[0]里面的零开始累加么?
2011-11-24 21:53
星火gavin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:78
专家分:170
注 册:2011-11-5
收藏
得分:2 
a[c]++ 应该表示应该表示,对相同的字符型加一吧,然后表示该字符的个数。
新手意见,仅供参考
2011-11-24 22:12
小先生
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2011-11-4
收藏
得分:0 
a[i]默认为0  此程序为统计字符出现的次数
2011-11-24 22:40
duanlt8
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:70
专家分:107
注 册:2011-9-15
收藏
得分:10 
如果输入A  那么a[c]++就是a[65]++,就表示a[65]=1,表示A出现一次,因为a[1000]={0},a[65]=0,那a[65]++就是1,理解这个,就基本能懂了.输出时,如果a[i]!=0,那么ASCII码为i的字符出现过,a[i]的值就是ASCII码值为i的字母出现的次数.

[ 本帖最后由 duanlt8 于 2011-11-24 22:44 编辑 ]
2011-11-24 22:42
五号
Rank: 2
等 级:论坛游民
帖 子:31
专家分:27
注 册:2011-10-20
收藏
得分:0 
回复 8楼 duanlt8
详细 易懂  真心感谢  也感谢楼上的几位热心答复
2011-11-25 20:33
快速回复:有些小问题,麻烦有空的人儿进来瞧瞧
数据加载中...
 
   



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

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