c语言c={0};这个程序是怎么运行的?

[复制链接]
查看11 | 回复6 | 2011-9-19 01:24:05 | 显示全部楼层 |阅读模式
#includestdio.hmain(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i12;i)c[s];for(i=1;i5;i)printf(\"%d\\n\",c);}
回复

使用道具 举报

千问 | 2011-9-19 01:24:05 | 显示全部楼层
这个程序的运行过程如下:先是s[12]的赋值,然后就是c[5]的赋值。在第一个for循环里面,改变的是c[5]里面的元素的值。第一次到每四次循环,c[1]=1;c[2]=1,c[3]=1,c[4]=1,第五次到八次循环,c[4]=2,c[3]=2,c[2]=2,c[1]=2,第九次循环,c[1]=3,第十到十二次循环c[1]=4c[2]=3,c[3]=3,第二个for循环,输出c[1]到c[4]所以输出为4332追问c[5]={0};是定义了一个空间为5的一维数组,首地址是0吗?for(i=1;i5;i)控制c[1]为4次(1、2、3、4),1111=4那么c[2]初值是2,它是怎样加了
回复

使用道具 举报

千问 | 2011-9-19 01:24:05 | 显示全部楼层
不是说首地址是0,是把所有元素的值设置为0for(i=1;i5;i)这个for循环只输出用的,for(i=0;i12;i)c[s];c[2]的初值为零,在这个循环里,它一共加了三次,所以a[2]=3
回复

使用道具 举报

千问 | 2011-9-19 01:24:05 | 显示全部楼层
c[1]=4c[2]=3c[3]=3c[4]=3追问能详细讲一下吗?
回复

使用道具 举报

千问 | 2011-9-19 01:24:05 | 显示全部楼层
for(i=0;i12;i)c[s]:第一次是C[S[0]],也就是C[1];第二次是C[S[1]],也就是C[2];第三次是C[S[2]],也就是C[3]……以下都一样所以C[1]做了四次加1
回复

使用道具 举报

千问 | 2011-9-19 01:24:05 | 显示全部楼层
c[5]={0};是定义了一个空间为5的一维数组,首地址是0吗?for(i=1;i5;i)控制c[1]为4次(1、2、3、4),1111=4那么c[2]初值是2,它是怎样加了
回复

使用道具 举报

千问 | 2011-9-19 01:24:05 | 显示全部楼层
这个嘛你可以用vc单步运行。不懂再联系。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行