以下是2个代码示例:
int k,j=1;
int x[4]={5,14,25,47};
k = x[j] + ++j;
printf("%d, %d",j,k);
Run Code Online (Sandbox Code Playgroud)
显示警告 - “对 'j' 的操作可能未定义”但输出为:2, 16
然后我尝试了这个:
int k,j=1;
int x[4]={5,14,25,47};
k = x[j] +++j;
printf("%d, %d",j,k);
Run Code Online (Sandbox Code Playgroud)
这不会发出任何警告,但输出有点令人困惑。输出- 1,15 为什么 j 在第二种情况下没有增加?
c ×1