C语言各种运算符的运算法则
发布网友
发布时间:2022-04-28 11:59
我来回答
共1个回答
热心网友
时间:2023-10-08 20:06
c语言中,条件运算符的法则:
由高到低是:!(非),&&(与),||(或)
&&左边为0则不看右边运算,||左边为1不看右边!
例:
main()
{
int a=1,b=2,c=3,d;
d=!b>a&&c||c>2
printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
}
运行结果:a=1
b=0
c=3
d=1
程序执行说明:先执行!b>a即0>a,结果为0(b=0)
再执行0&&c结果为0,执行c>2结果为1
0||1结果为1
因为执行顺序为右结合,所以将整个表达式的结果给 d为1
}
条件运算符:
(表达式1)?(表达式2):(表达式3)
运算规划:如果表达式1为真,返回表达式2的结果,否则返回表达式3的结果
例如:
A=1,B=2
(A>B)?A:B
返回值为2
注意表达式是右结合的.
例:
A=1,B=2,C=3
(A>B)?A:B?C:B
相当于(A>B)?A:(B?C:B)
返回值为3