初学c++问一个不懂的问题!

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:24:36
#include<iostream.h>
void main()
{
int m=0;
int n=0;
if(m=n)
cout<<n<<endl;

}
当我把n和m置为零的时候不能执行输出操作.而当n和 m置为其它非零值时,则能输出.这是怎么回事!

if(m=n)表示将n的值赋给m,由于0表示假(条件不成立),所以不会执行if里的语句。

如果要比较两个值是否相同,应该用m==n。

判断语句不是用的“=”而是“==”所以要判断的话应该写if(m==n)
而写成(m=n)的话里面是一个赋值语句,当你写成m=0;n=0时候,实际m=n语句执行之后就是一个0所以当然不执行输出了,而写为别的值的时候,赋值表达式的值都不是0,所以整个if语句判断都为真

你把你的if语句改为if (m==n) 试试
这是逻辑判断语句 即是否等于

if(m=n) 的意思是如果将n赋值给m成立的话,执行下一条语句,
不应用(m=n) ;而应用if(m==n),m==n的意思是如果m恒等于n,执行。

if(m=n) m=n为赋值语句,所以当 m = 0 时,条件语句的条件为假,故不能运行下面的语句。。

你都把m,n初始化为0了,还比较个什么
你这个程序好像也不能比较两个数吧,你程序好像不能输入数吧