一道关于数组的问题
本帖最后由 百变kelvin 于 2016-8-7 14:13 编辑#include<stdio.h>
void main()
{
int s = {1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3}, c = {0}, i;
for(i=0; i<12; i++)
c]++;
for(i=1; i<5; i++)
printf("%d", c);
printf("\n");
}
这段程序的输出结果是 4 3 3 2,是怎么得出来的呢?
s是作为c的下标,按顺序应该分别为 c c c c吧,那怎么得到4 3 3 2呢? 本帖最后由 迷雾少年 于 2016-8-4 20:22 编辑
首先c的5个数为0 0 0 0 0
s={1,2,3,4,4,3,2,1,1,1,2,3}
循环12次
c++ c={0,1,0,0,0,0}
c++ c={0,1,1,0,0,0}
c++ c={0,1,1,1,0,0}
c++ c={0,1,1,1,1,0}
c++ c={0,1,1,1,2,0}
c++ c={0,1,1,2,2,0}
c++ c={0,1,2,2,2,0}
c++ c={0,2,2,2,2,0}
c++ c={0,3,2,2,2,0}
c++ c={0,4,2,2,2,0}
c++ c={0,4,3,2,2,0}
c++ c={0,4,3,3,2,0}
最后输出4个数所以是。。。c cc c 4 33 2 迷雾少年 发表于 2016-8-4 20:18
首先c的5个数为0 0 0 0 0
s={1,2,3,4,4,3,2,1,1,1,2,3}
循环12次
头像终于刷新了 本帖最后由 Krant5 于 2016-8-4 23:50 编辑
看s数组里面元素的值嘛,有几个1。c数组的c(1)元素值就是几。其它类推 迷雾少年 发表于 2016-8-4 20:18
首先c的5个数为0 0 0 0 0
s={1,2,3,4,4,3,2,1,1,1,2,3}
循环12次
非常感谢{:10_257:}(这头像可以的{:10_334:}) 百变kelvin 发表于 2016-8-5 10:13
非常感谢(这头像可以的)
{:10_254:}
页:
[1]