有以下程序: #include <stdio.h> main() { int a[]={2,3,5,4},i;

有以下程序:#include<stdio.h>main(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:sw... 有以下程序:
#include <stdio.h>
main()
{ int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0: switch(a[i]%2)
{ case 0:a[i]++;break;
case 1:a[i]--;
} break;
case 1:a[i]=0;
}
for(i=0;i<4;i++) printf("%d ",a[i]); printf("\n");
}
程序运行后的输出结果是( 4 )。
A) 0 3 0 4
B) 2 0 5 0
C) 3 3 4 4
D) 3 0 4 0
a[i]++不是先执行a[i]后再加1吗
这里直接执行+1了

求大神解答一下,谢谢!!!
展开
 我来答
john_lee1969
推荐于2016-02-28 · TA获得超过1697个赞
知道小有建树答主
回答量:419
采纳率:100%
帮助的人:517万
展开全部
a[i]是指a数组的第i项元素,没有什么执行不执行的。
a[i]++就是把该元素+1了。

如果有这样的语句:x = a[i]++; 那么才是先把该元素赋值给 x,然后该元素自己+1。

注:a[i]++ 是个表达式,其值为 a[i] 的原始值,这个表达式求值后,a[i]自身+1。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式