是$$$,解释这个问题,先看下面这个程序:
#include<stdio.h>
#include<conio.h>
int main()
{
int a=5,b=2,c=1;
printf("%d,%d\n",a=b+c,a);
return 0;
}
运行结果看下图:
由此可知,+的优先级高于=,且赋值运算的返回值就是赋的值。
所以你的程序if(a=b+c)中, 首先是b+c=0,然后将0赋值给a,同时这个0也作为if的判断条件,所以最后打印的是条件不满足的“$$$”:
我不知道你程序的本意是什么,不过一般if中的判断是否相等用“==”...
希望该解答您能满意~~