执行语句"x=(a=3,b=a--)"后,x,a,b的值依次为( )。
A)3, 3, 2 B)3,2,2 C)3,2,3 D)2,3,2
为什么x的值是3而不是2呢?
选择a
x的结果是逗号表达式的值,逗号表达式的值是最后一个表达式的值,最后一个表达式因为a=3,所以a--是3,b是3,表达式也是3
如果要是2,那么是b=--a
#include <stdio.h>
int main()
{
int a,b,x;
x=(a=3,b=--a);
printf("%d %d %d", x,a,b);
return 0;
}
这是2 2 2
【以下回答由 GPT 生成】
答案:
根据这个表达式"x=(a=3,b=a--)",我们可以从内部到外部分解执行的步骤。首先,变量a被赋值为3,然后将a的值赋给变量b,并且a的值自减。最后,将b的值赋给变量x。
因此,最后的结果是x=3,a=2,b=3。所以答案是C) 3, 2, 3。