设a是整型变量,则表达式(a=4*5,a*2),a+6的值是( ).

请详解,并且a*2为什么不计算,大仙点点啊
2025-02-26 06:17:12
推荐回答(5个)
回答1:

int a;

a=4*5;

a=a*2;

printf("%d",a+6)

逗号将分成两个表达式。(a=4*5,a*2)可以是a=4*5;a=a*2;

例如:

a=4*5, a=20;

a*2 ,a任然为20,;

a+6,得26

逗号运算符的结果是最后一个逗号之后的表达式的值,所以结果为26,此时a=26

扩展资料:

int a,b,c; (a,b,c为整型变量)

long x,y; (x,y为长整型变量)

unsigned p,q; (p,q为无符号整型变量)

整数类型 1个变量名或用逗号隔开的多个变量名

类似地,还可以定义 unsigned int 、 unsigned long 型的变量。

参考资料来源:百度百科-整型变量

回答2:

这是个逗号表达式,是一个表达式
逗号表达式的值为逗号右边的值,如(a,b)的值即为b的值,逗号的运算优先级最低
(a=4*5,a*2),a+6的值即为a+6的值,即为26

回答3:

(a=4*5,a*2),a+6,括号优先级最高先算括号里,括号里a=4*5=20即是(20,20*2),
20+6所以结果26你的想法错在括号里(a=4*5,a*2)
右边只是a*2但是没有再赋值给任何变量

回答4:

计算了,
= 的优先级高于 ,的优先级。
你这个表达式可以看成:((a =4*5),a*2)

回答5:

int a;
a=4*5;
a=a*2;
printf("%d",a+6)

逗号将分成两个表达式。(a=4*5,a*2)可以是a=4*5;a=a*2;