#include <stdio.h>
int main()
{
int a=3;
int b=4;
int r;
r=a+b%a-b/a+a*b-a++;
printf("r=%d\n",r);
printf("a=%d\n",a);
return 0;
}
问题:a+b%a-b/a+a*b-a++
这个到底是咋运算的。看不懂呃。头晕脑胀的。
先乘除后加减,从左到右运算。
相当于:
3+4%3-4/3+3*4-3; a = a + 1;
我想问一下这个b/a为什么=1
a++的意思是,把先a带入算式,等到算完所有的之后——,然后再把a拿过来加加,这种类型的题目是初学c语言的易错点和难点。
这个题有问题,结果是undefined。
在进行等号右侧这一系列运算时,无法确定a++这一操作什么时候将a的值加一。唯一能够确定的是在这一语句结束后,肯定a自增一了。