题目
以下程序运行后的输出结果是【 】。 include <stdio.h> main() ( int a=1,b=3,c=5; if (c=a+b) printf("yesn"); else printf("non"); )
以下程序运行后的输出结果是【 】。 include <stdio.h> main() { int a=1,b=3,c=5; if (c=a+b) printf("yes\n"); else printf("no\n"); }
题目解答
答案
正确答案:yes
程序if语句中是赋值表达式,而不是相等“==”运算。因为c=a+b中a+b的值为4,赋给c,c=4,表达式为真,输出yes。
解析
步骤 1:分析if语句中的条件表达式
在if语句中,条件表达式为c=a+b。这是一个赋值表达式,而不是相等运算。首先计算a+b的值,即1+3=4,然后将这个值赋给变量c,因此c的值变为4。
步骤 2:判断if语句的条件
由于c的值为4,非零,因此条件表达式c=a+b为真。
步骤 3:执行if语句的真分支
由于条件表达式为真,程序将执行if语句的真分支,即输出"yes"。
在if语句中,条件表达式为c=a+b。这是一个赋值表达式,而不是相等运算。首先计算a+b的值,即1+3=4,然后将这个值赋给变量c,因此c的值变为4。
步骤 2:判断if语句的条件
由于c的值为4,非零,因此条件表达式c=a+b为真。
步骤 3:执行if语句的真分支
由于条件表达式为真,程序将执行if语句的真分支,即输出"yes"。