注册 登录
编程论坛 C++教室

关于if的应用

z815024147 发布于 2012-10-19 14:29, 370 次点击
#include<iostream.h>
int main()
{
    int n,m;
    cin>>n;
    m=n%2;
    if(m=1)
    {
    cout<<"Odd number"<<endl;
    }
    if(m=0)
    {   
    cout<<"Even number"<<endl;
    }
    return 0;
}
为什么我输入数字,但程序只执行第一个
3 回复
#2
lchpersonal2012-10-19 17:52
#include<iostream.h>
int main()
{
    int n,m;
    cin>>n;
    m=n%2;
    if(m==1)  //注意是两个等号
    {
    cout<<"Odd number"<<endl;
    }
    if(m==0) //注意是两个等号
    {   
    cout<<"Even number"<<endl;
    }
    return 0;
}
#3
liman1232012-10-20 20:44
只执行一个那是因为你在第一个if语句中用的不是判断运算符“==”而是赋值运算符“=”在第一条语句中m被赋值为1,自然就不会执行第二个了
#4
KLZERO2012-10-24 13:36
我2个都可以执行啊,话说你编译没出错吗?是C++吧,你怎么“#include<iostream.h>”还加了个“.h”呢,而且还少了“using namespace std;”
应该是这样的吧!我是用VS2008的。
#include<iostream>
using namespace std;
int main()
{
    int n,m;
    cin>>n;
    m=n%2;;
    if(m==1)
        cout<<"number"<<endl;
    if(m==0)
        cout<<"eve number"<<endl;
    return 0;
}


[ 本帖最后由 KLZERO 于 2012-10-24 13:45 编辑 ]
1