作业帮 > 综合 > 作业

本人初学者 下面程序的运行结果是(  )main(){int y=5,x=14; y=((x=3*y,x+6),x-1)

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/06 11:58:47
本人初学者
下面程序的运行结果是(  )
main()
{
int y=5,x=14; y=((x=3*y,x+6),x-1);
printf("x=%d,y=%d",x,y);
}
A) x=27,y=27
B) x=12,y=13
C) x=15,y=14
D) x=y=27
本人初学者 下面程序的运行结果是(  )main(){int y=5,x=14; y=((x=3*y,x+6),x-1)
y=((x=15,x+6),x-1)
以上是将逗号表达式的结果赋值给y,整个赋值表达式的结果是最后一个表达式的值,也就是看x-1是多少,这之前,x的值有过变化,即x=3*y,也就是15,所以,x-1就是14,也就是y最终的值是14,而x的最终值是刚才变化之后的值,即15,选C选项
再问: 那x+6没有被赋值,所以不用考虑,对吗?
再答: 你说的没错,x+6只是个计算,并没有赋值