c语言经过赋值运算和逻辑运算后函数的值到底是多少

#include"stdio.h"
int main()
{
int a=2,b=3,c=1,d=5;
if((a=1)&&(b=0)&&(c=2)&&(d=1)){
printf("真,a=%d,b=%d,c=%d,d=%d",a,b,c,d);
}else{
printf("假,a=%d,b=%d,c=%d,d=%d",a,b,c,d);
}

return 0;

}

逻辑值0为真,非0为假。

if括号里面是三个条件与的关系,也就是说只要有一个条件的逻辑值为0,后面的赋值就不再进行了。

第一个a=1,这个条件的逻辑值也就是赋值后a的值,为1。

继续,第二个b=0,这个条件的逻辑值也就是赋值后b的值,为0.出现0,后面的不再进行

所以结果是 假,a=1,b=0,c=1,d=5

#include"stdio.h"
int main()
{
int a=2,b=3,c=1,d=5;
if((a=1)||(b=0)||(c=2)||(d=1)){
printf("真,a=%d,b=%d,c=%d,d=%d",a,b,c,d);
}else{
printf("假,a=%d,b=%d,c=%d,d=%d",a,b,c,d);
}

return 0;

}

if括号里面是三个条件或的关系,也就是说只要有一个条件的逻辑值为1,后面的赋值就不再进行了。

第一个a=1,这个条件的逻辑值也就是赋值后a的值,为1,出现1,所以后面的就不再进行了。

所以结果是 真,a=1,b=3,c=1,d=5



猜你喜欢

转载自blog.csdn.net/a374519711/article/details/80836578