如果j是某个整数1,i=1,j=1。
j++执行时是这样的:j=j+1=2,j=2。
数组a[j++]=i就是将i中的值赋值到数组a[j++],a[2]=1。
数组a[j]=i是将i中的值赋值到数组a[j]中,a[1]=1。
j++前面已经说了,程序运行时做的是j=j+1。
他们在内存中存储的地址不同。
a[j++]=i; 和 a[j]=i; j++; 是一样的。前者比后者简洁,用一句话完成了把i放入a[j]中,同时j加1。
这个就是C语言特有的风格。
要看语句的执行
第一个a[j++]=i;执行结束的时候结果是a[j]=i,之后令j++就变成a[j+1].
第二个执行结束的结果就是a[j]=i,然后j+1.
这两句正常的执行结果都是一样的.但是差别在于第一个j的值没有变,第二个j的值会加1
把语句拆解了成执行结果后就很清楚了
这是没有区别的。。。两句是相等的,a[j++]=i就是先执行a[j]=i,再执行j++
只是代码风格不同吧。