在C++IF语句中如果把if(a==0)写成if(a=0)编译系统有何反应,输出的结果是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/30 11:24:44
程序:

#include<iostream.h>
void main()
{
int a,b,c=3;
cout<<“请输入两个整数:”;
cin>>a>>b;
if(a<b)
if(a==0)c=1;
else c=2;
cout<<"c="<<c<<endl;
}

如果把if(a==0)写成if(a=0),有的编译器可能会出现警告,但是所有编译器都可以正常生成exe文件,最后执行程序的时候,if后面的语句永远也无法执行,并且执行if语句之后,a的值无论以前为什么,都会被赋予0。

a==0是判断语句,a=0是赋值语句,就这么简单
同LS说的,编译都能成功,就是不能执行