谁能帮我看看这个C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:28:04
#include <iostream>
using namespace std;
main()
{
int number;
number=0;
if (number=0)
cout <<"Zero value";
else
cout <<"Non-zero value";
return 0;
}
为何是输出else中的语句而不是输出if中的语句?

number=0是一个赋值表达式,C++中赋值表达式的值就是被赋值变量的值,也就是number的值,此时为0;所以if(number=0)中括号内的的赋值表达式的值为0,假,所以就执行else中的语句.

#include <iostream>
using namespace std;
int main()
{
int number;
number=0;
if (number==0)
cout <<"Zero value";
else
cout <<"Non-zero value";
return 0;
}

这样写就对了

打少了个等号了
是number == 0
你打成赋值了

if (number=0)
这条语句中 由于是赋值 那么number被赋值为0之后 number=0这条语句也为0了 所以if后跟的语句都不会运行

number=0输出Zero value,否则都输出Non-zero value

你的那个if是赋值,把0赋给了number了,结果if里面的逻辑值为0,当然不输出if中的语句了