1个回答
展开全部
s[j] 是 整型数组s的元素,用它的值 做 数组 a 的下标 I
然后 让 a[i] 自增 1。
例如:
int s[5]={2,3,1,4,5};
int a[8]={1,2,3,4,5,6,7,8};
int j, x, y;
j=3;
这时 a[s[j]]++;
看成 a[s[3]]++; s[3] 等于 4,所以变成 a[4]++;
这里 ++ 是 后缀 加加;(表达式里不自增1,出了表达式再自增)
等于 执行 a[4]=a[4]+ 1;
a[4] = 5 + 1 = 6;
===============
如果是:
int s[5]={2,3,1,4,5};
int a[8]={1,2,3,4,5,6,7,8};
int j, x, y;
j=3; // s[j]=s[3]=4
x = a[s[j]]++; // a[4] 是 5, 表达式里不自增1,出了表达式再自增
y = a[s[j]]; // y 得 a[4] 的当前值 6
printf("x=%d y=%d\n",x,y);
输出 x=5 y=6
然后 让 a[i] 自增 1。
例如:
int s[5]={2,3,1,4,5};
int a[8]={1,2,3,4,5,6,7,8};
int j, x, y;
j=3;
这时 a[s[j]]++;
看成 a[s[3]]++; s[3] 等于 4,所以变成 a[4]++;
这里 ++ 是 后缀 加加;(表达式里不自增1,出了表达式再自增)
等于 执行 a[4]=a[4]+ 1;
a[4] = 5 + 1 = 6;
===============
如果是:
int s[5]={2,3,1,4,5};
int a[8]={1,2,3,4,5,6,7,8};
int j, x, y;
j=3; // s[j]=s[3]=4
x = a[s[j]]++; // a[4] 是 5, 表达式里不自增1,出了表达式再自增
y = a[s[j]]; // y 得 a[4] 的当前值 6
printf("x=%d y=%d\n",x,y);
输出 x=5 y=6
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询