百变kelvin 发表于 2016-8-4 16:23:39

一道关于数组的问题

本帖最后由 百变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:18:59

本帖最后由 迷雾少年 于 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:27:35

迷雾少年 发表于 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:48:02

本帖最后由 Krant5 于 2016-8-4 23:50 编辑

看s数组里面元素的值嘛,有几个1。c数组的c(1)元素值就是几。其它类推

百变kelvin 发表于 2016-8-5 10:13:49

迷雾少年 发表于 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:})

迷雾少年 发表于 2016-8-5 10:58:08

百变kelvin 发表于 2016-8-5 10:13
非常感谢(这头像可以的)

{:10_254:}
页: [1]
查看完整版本: 一道关于数组的问题