- 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