#include<stdio.h>
int main()
{
int x=5,a=0,b=0;
if(x=a+b) printf("****\n");
else printf("####\n");
return 0;
}
a+b = 0
以0作为返回值为假
这是一种特殊情况
改成x==a+b
判断相等用==,单个等号是赋值
if里判断的是a+b
a+b=0,判断为假,执行else
#include<stdio.h>
int main()
{
int x = 5, a = 0, b = 0;
if (x = (a + b)) printf("****\n"); //if判断的是x的值,先执行赋值语句x=a+b,然后判断x的值
else printf("####\n");
return 0;
}