【发布时间】:2014-06-04 09:42:42
【问题描述】:
#include <stdio.h>
main()
{
int a[5] = {5,1,15,20,25};
int i,j,m;
i = ++a[1];
j = a[1]++;
m = a[i++];
printf("%d %d %d\n",i,j,m);
}
好的,现在程序编译并运行良好。但是我得到的输出是 3 2 15 即 i = 3 ,j = 2,m = 15。我不明白 i 的值是如何变成 3 的,因为 a[1] 即 '1' 当递增时必须变为 2 . 这是一个'追踪输出'类型的问题。我正在使用 gcc。
【问题讨论】:
标签: c post-increment pre-increment