最后一个例题2008年4月份选择题,完全想不明白怎么回事。求解答。
匿名课官 资深会员 2017-09-10 20:35:46
2413 2 0

# 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");

}

c[5]={0}

c[0]=0;

c[1]=0;

c[2]=0;

c[3]=0;

c[4]=0;

为什么运行之后会变成4332?

问题来自: 数组的定义

共 2 个回答

    qqq 资深元老 助教 2428天前

    你慢慢看这段代码,c的下标是s[i]的值,因为s数组中没有0,所以c[0]依然是初始化时的0,s数组中有4个1,所以c[1]会从0自增4次也就变成4了,依次类推,c[2]就是s数组中2的个数,也就是3,下面应该好懂吧。

    匿名课官 资深会员 2426天前

    回复 qqq:谢谢!

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题