早教吧 育儿知识 作业答案 考试题库 百科 知识分享

本人初学者下面程序的运行结果是()main(){inty=5,x=14;y=((x=3*y,x+6),x-1);printf("x=%d,y=%d",x,y);}A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27

题目详情
本人初学者
下面程序的运行结果是(  )
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
▼优质解答
答案和解析
y=((x=15,x+6),x-1)
以上是将逗号表达式的结果赋值给y,整个赋值表达式的结果是最后一个表达式的值,也就是看x-1是多少,这之前,x的值有过变化,即x=3*y,也就是15,所以,x-1就是14,也就是y最终的值是14,而x的最终值是刚才变化之后的值,即15,选C选项