一个弱弱的问题

leijunyuncyuyan 2009-03-11 09:35:08
#include <stdio.h>
main()
{ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++) c[s[i]]++;
for(i=1;i<5;i++) printf("%d",c[i]);
printf("\n");
printf("%d",c[1]);}
这个程序为什么输出的是4332
4啊?c[5]中只对c[0]进行了赋值,其它的值都不知道。况且它不是静态的。c[2],c[3]...这些是怎么得出来的啊?谢谢各位的帮助。呵呵
...全文
205 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ostroff 2009-03-11
  • 打赏
  • 举报
回复
1楼正解
  • 打赏
  • 举报
回复
就是这样,1楼正解.
sagegz 2009-03-11
  • 打赏
  • 举报
回复
int c[5]={0}就是说该数组中的5个元素全部为0.
然后s[i]的取值只能是1,2,3,4.然后根据c[s[i]]++中的++来更改数组c中各元素的值.
lingyin55 2009-03-11
  • 打赏
  • 举报
回复
s[i]的取值就是1,2,3,4这几个值,通过循环就不断的为c[2],c[3]...赋值。过程还是比较简单的,看不明白的话在赋值语句设置一下断点,观察值的变化,或者在赋值语句后面把值打印出来。
lei_zhuyan 2009-03-11
  • 打赏
  • 举报
回复
c[5]={0} 等价于
c[5]={0,0,0,0,0}

----------------------
lingyin55 2009-03-11
  • 打赏
  • 举报
回复
c[5]={0};这种赋值方式就相当于整个数组都初始化为0。
flameearth 2009-03-11
  • 打赏
  • 举报
回复
??
flameearth 2009-03-11
  • 打赏
  • 举报
回复
c[5]={0}对c[]里面的每个元素初始化为0

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧