C语言逻辑表达式的习题

2025-06-22 11:47:35
推荐回答(1个)
回答1:

d1=(ab--); 因为都是或运算,有一个为真,那么整个表达式都为真,ad2=(a>b)&&(++a==5)||(c>b--);先是与运算,一个为假那么就是假,a>b为假,所以&&(++a==5)不执行,后面是或运算,再判断,c>b--,也是假,0||0=0,所以d2=0,a=4,b=7,c=5
d3=(ab--);因为&&的优先级高所以可以改写成(ab--)),ad4=(a>b)&&(++a==5)&&(c>b--);a〉b为假,后面的也不判断d4=0,a=4,b=7,c=5