23以下程序的输出结果是main(){inta=3;printf?
23 以下程序的输出结果是 main() { int a=3; printf(")} 答案是 -12 为什么 24 设a,b,C,d,m,n,均为 int 型变量, 且 a=5,b=6,c=7,d=8,m=2,n=2, 则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值 答案是 2 为什么 (m=a>b)&&(n=c>d)做的先后顺序是? 25 阅读以下程序 main() { int x; int; %d"& x}; 5}} 程序运行后,如果从上输入5,则输出结果是 答案是 23 以下程序的输
  23 以下程序的输出结果是 main() { int a=3; printf(")} 答案是 -12 为什么 解答:该题不完整。 24 设a,b,C,d,m,n,均为 int 型变量, 且 a=5,b=6,c=7,d=8,m=2,n=2, 则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值 答案是 2 为什么 解答:在逻辑表达式的求值过程中,并不是所有的运算对象都参加运算,而是按照运算对象自左向右的计算顺序运算,当某个运算对象的值计算出来后,可以确定整个逻辑表达式的值时,其余的运算对象将不参加运算。即:对于运算符“&&”来说,只有左边的运算对象为真时(非0),其右边的运算对象才进行运算。对于运算符“||”来说,只有左边的运算对象为假时(0),其右边的运算对象才进行运算。 在该题中,因为左边的运算对象(m=a>b)为假,所以右边的运算对象(n=c>d)将不参加运算,即n的值不变,仍为2。 (m=a>b)&&(n=c>d)做的先后顺序是? 解答:从左向右来运算,向计算“&&”左边运算对象(m=a>b)的值,而对于运算对象(m=a>b)先计算a>b的值,再把其结果0赋值给m。 25 阅读以下程序 main() { int x; int; %d"& x}; 5}} 程序运行后,如果从上输入5,则输出结果是 答案是 4 为什么 解答:程序不完整,没有输出语句。 26 假定w,x,y,z,m,均为int型变量,有如下程序段:w=1;x=2;y=3;z=4; m=(w