24小时热门版块排行榜    

查看: 440  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

小孩YY

金虫 (小有名气)

[求助] 有关&&和||的问题

#include
int main(void)
{
        int a,b,sum;
        char c;

        printf("输入两个整数:" );
        scanf("%d%c%d",&a,&c,&b);
        if(c != '-' && c != '+' && c != '*' && c != '/' || b == 0)
        {
        printf("输入错误\n" );

        return 0;
        }
    else
        {
                if(c == '+')
                {
                        sum = a + b;
                }
                if(c == '-')
                {
                        sum = a - b;
                }
                if(c == '*')
                {
                        sum = a * b;
                }
                if(c == '/')
                {
                             sum = (a / b);
                }
        }
       
        printf("%d\n",sum);

        return 0;

为什么将if(c != '-' && c != '+' && c != '*' && c != '/' || b == 0)换成
if(c != '-' && c != '+' && c != '*' && c != '/' && b == 0)就不可以了?

[ Last edited by jjdg on 2012-10-22 at 00:55 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
小孩YY: 金币+1 2012-10-23 18:16:56
c != '-' && c != '+' && c != '*' && c != '/' || b == 0表示c != '-' && c != '+' && c != '*' && c != '/' 成立或者b == 0成立,而这之一成立即可;c != '-' && c != '+' && c != '*' && c != '/' && b == 0表示两者都要同时成立才行。换了之后当然不一样了
www.cvdelver.com
3楼2012-10-23 09:21:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

非同小可

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
小孩YY: 金币+1 2012-10-22 18:12:57
&&是逻辑与  ||是逻辑或
2楼2012-10-22 15:28:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldliubin

新虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
小孩YY: 金币+1 2012-10-23 18:30:47
if(c == '/')
                {
                             sum = (a / b);
                }
改为
if(c == '/'&&b!=0)
                {
                             sum = (a / b);
                }
更好
4楼2012-10-23 10:21:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见