黑马程序员技术交流社区

标题: && 遇到 ||之后的优先级问题!!!!! 逻辑运算优先级 [打印本页]

作者: kakam    时间: 2016-7-11 18:58
标题: && 遇到 ||之后的优先级问题!!!!! 逻辑运算优先级
请问
1.A && B || C
2.A || B && C
这两道题分别如何按什么顺序计算?
作者: twototwoto    时间: 2016-7-11 22:56
还不会传图片先把文字贴上吧。
#include <stdio.h>
/*
ios疯狂讲义上有提到&&的优先级比||的优先级高。
1.E = A && B || C  先执行前边A&&B
2.F = A || B && C  先执行后边B&&C
E是我算的,运行结果的E总是显示%d不知道为什么,F的结果是控制台输出的,
最近开始学ios,有不对的请指出。
A  B   C   E    F
0  0   0   0    0
0  0   1   1    0  //这个可以说明E先执行A&&B;
0  1   0   0    0
0  1   1   1    1
1  0   0   0    1  //这个可以说明F先执行的B&&C;
1  0   1   1    1
1  1   0   1    1
1  1   1   1    1
*/
int main(int argc, const char * argv[]) {
    _Bool A = 1;
    _Bool B = 0;
    _Bool C = 0;
    _Bool E = A&&B||C;
    _Bool F = A||B&&C;
    printf("1.A && B || C=%d\t\n",E);
    printf("2.A || B && C=%d \t\n",F);
    return 0;
}

希望可以帮到你

作者: 不想长大    时间: 2016-7-12 00:50
当||和&&同时出现时,放弃优先级,从左向右执行
作者: hbpiaoyi    时间: 2016-7-12 09:31
不想长大 发表于 2016-7-12 00:50
当||和&&同时出现时,放弃优先级,从左向右执行

赞赞赞赞赞
作者: hbpiaoyi    时间: 2016-7-12 09:32
不想长大 发表于 2016-7-12 00:50
当||和&&同时出现时,放弃优先级,从左向右执行

赞赞赞赞赞
作者: Turingchang    时间: 2016-7-12 12:51
优先级顺序:not and all
作者: kakam    时间: 2016-7-13 00:42
hbpiaoyi 发表于 2016-7-12 09:32
赞赞赞赞赞

赞赞赞赞赞
作者: kakam    时间: 2016-7-13 00:43
twototwoto 发表于 2016-7-11 22:56
还不会传图片先把文字贴上吧。
#include
/*

明天敲一下试试
作者: twototwoto    时间: 2016-7-15 08:29
twototwoto 发表于 2016-7-11 22:56
还不会传图片先把文字贴上吧。
#include
/*

运行时,E的运算会出现%d是因为你写的%有问题,,犯了这个错误。。。改过来后便可以正常运行
作者: 瑜尚    时间: 2016-7-15 12:05
&&的优先级高于||,所以你这个可以这样理解1.(A&&B)||C  2.A||(B&&C),这是我的理解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2