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

括号的问题

luxiaocheng 发布于 2010-02-05 13:00, 1042 次点击
#include<iostream.h>
void main()
{
    int n=0,m=0;
    cout<<"请输入两个数字";
    cin>>n;
    cin>>m;
    if(n!=m)
    {
        if(n<m)
    {
        cout<<n<<"<"<<m<<endl;
    }
        else
        {
            cout<<n<<">"<<m<<endl;
        }
    }
    else
    {
        cout<<n<<"="<<m<<endl;
    }
}


红括号我去掉程序也能运行,问一下加括号与不加的区别。。。。
5 回复
#2
冰蟾子2010-02-05 15:25
木有区别
#3
mghxz2522010-02-05 15:29
我个人认为:加了括号会比较容易读懂点。
#4
ly8610142010-02-05 16:11
回复 楼主 luxiaocheng
因为
    if(n<m)
    {
        cout<<n<<"<"<<m<<endl;
    }
    else
    {
        cout<<n<<">"<<m<<endl;
    }
就相当于一条语句,所以在这里加不加括号效果都一样,都对。其实,我赞成加括号,因为如果以后要在第一个if后、和第二个if并列加几个语句时,比如:

#include<iostream.h>
void main()
{
    int n=0,m=0;
    cout<<"请输入两个数字";
    cin>>n;
    cin>>m;
    if(n!=m)
    {
        if(n<m)
    {
        cout<<n<<"<"<<m<<endl;
    }
        else
        {
            cout<<n<<">"<<m<<endl;
        }
    m = n+1;
    }
    else
    {
        cout<<n<<"="<<m<<endl;
    }
}

像上面我用红色标出的那句(为了说明问题,我随便加了一句,可能本身并没有什么意义),加不加括号就完全是两回事了,不加括号的话,如果以后出现错误很可能不会想到是这里的问题。
所以,我个人认为,不管if后面是几条语句,哪怕是一条,或者说是一个块语句,也要加括号,以防万一。
#5
yhtian6192010-02-05 21:11
加不加括号都没有问题,程序都能正常运行,因为if ...else..也是一种语句
#6
feixiang11062010-03-02 14:48
你的程序没有区别,
原因是因为你的if后面只有一条语句,如果有多条语句的话,必须加括号
1