如图,
#include<stdio.h>
int main()
{
int i =2;
printf("%d\n",(i++)*(++i)); //输出8
i=2;
printf("%d\n",i++*++i*i++);//输出32
i=2;
printf("%d\n",++i*i++);//输出12
i=2;
printf("%d",++i*i++*++i);//输出60
}
每一个式子怎么理解呢?
比如第一个式子:第一个i++读完变成i变成3,然后++i变成4。然后++i变成4,后面的值是4。
but
在激烈捣鼓了很久,代码也写了一些,最后听到有群友说取决于编译器。
好的,那也来试试。
果然啊,菜鸟在线编译器跟我本地gcc结果不一样。
散了吧散了吧,这个问题纠结无意义。
在此,引用一句群友的话: