中国科学技术协会|C语言-运算符默认优先级


中国科学技术协会|C语言-运算符默认优先级


①例子
ch=getchar()==‘A’
输入字符A , 求ch的值?
不是65 , 而是0 。

②解释
ch=getchar()是调用输入字符的函数 。
但是 ,
由于关系运算符==
比赋值运算符=的优先级高 ,

先运算getchar()==‘A’
左边破坏了输入字符函数调用 , 没有值 。
右边字符‘A’的ASCLL码为65 ,
无值≠65 , 为假 。

ch=假=0

③运算符的默认优先级
(有括号先算括号里面的)
第1级.单目逻辑运算符
逻辑非!

第2级.算术运算符
2.1单目算术:正负号+-
【中国科学技术协会|C语言-运算符默认优先级】2.2双目算术:加减号+-、乘除*/、余%

第3级.关系运算符
3.1大小于系列:< , <= , > , >=
3.2等于系列:等于== , 不等于!=

第4级.双目逻辑运算符
4.1逻辑与&&
4.2逻辑或II

第5级.赋值运算符
=
(注意区分数学 ,
C语言中等于是双等号 , 赋值是单等号)

    推荐阅读