这宗代码的运行结果肯定是6而不是2。你算出来是2是因为把k++;错归为for(j=0;j<3;j++)的体了,实际上k++;是for(i=0;i<3;i++)体,就是说要等for(j=0;j<3;j++)循环结束后才执行k++;。
若帮助了你,请采纳。
m = (k += i *= k++); 是未定义行为。
整条语句只有一个顺序点,但是出现了两次对k有副作用的修改,其结果是不确定的。
前两个for循环完成以后,a[3][3]={{1,2,3}, {2,3,1}, {3,1,2}}。最后一个for做的是s=1+3+2=6