这个c程序不明白输出结果

来源:百度知道 编辑:UC知道 时间:2024/06/18 05:08:01
#include <stdio.h>
void main(){
int x=0,y=0,z=0;
if(x=y) printf("****");
else {printf("####");}
}

输出结果是####;
为什么?能不能帮忙解释一下 谢了!!!!!!!!!!!!

if(x=y)
//首先这是个赋值的操作,y将自己的值‘0’赋值给了x,也就是说这句话等价于
if(x=0)
//那么也就是说if这个判断条件里变成了if(0),if(0)就是if(false)的意思,那么自然去做else这条分支语句了。