问题 填空题

以下程序运行后的输出结果是______。
main()
int a=1,b=2,c=3;
if(c=a)printf("%d\n",c);
else printf("%d\n",b);

答案

参考答案:A

解析: 本题是一个陷阱题。在if语句的判断表达式中,使用的不是逻辑运算符==而是赋值运算符=,使该表达式返回的结果正好相反。如果是c==a,则结果为假。但是c=a则是将a赋给c,且表达式的结果是赋值之后的c的值,因此结果为1是真。故最后输出c的值1。

单项选择题
问答题 简答题