若已定义int a,则表达式a=10,a+10,a++的值是___.
A) 20 B) 10 C) 21 D) 11
在C语言中,表达式a=10,a+10,a++涉及逗号运算符(,),该运算符会顺序评估其左右两个操作数,并返回最右侧操作数的值。此外,还涉及赋值运算符(=)和后缀递增运算符(++)。
让我们逐步分析这个表达式:
1. a=10:将变量a赋值为10。此时,a的值为10。
2. a+10:计算a与10的和,即10+10=20。然而,这个操作的结果并没有被赋值给任何变量,也没有被用作后续操作的一部分(除了作为逗号运算符的一个操作数),因此它本身对a的值没有影响。这个步骤中,a的值仍然是10。
3. a++:这是后缀递增运算符,意味着它会先返回a的当前值(在这里是10),然后将a的值增加1。因此,在这个步骤中,表达式a++的值是10,但随后a的值会变成11。
最终,整个表达式a=10,a+10,a++的值是a++的值,即10。然而,需要注意的是,表达式执行完毕后,变量a的值将是11(因为a++会将a的值增加1)。
总结:
• 表达式a=10,a+10,a++的值是10。
• 表达式执行完毕后,变量a的值是11。
这道题应该选11吧?我运行过了就是11啊
逗号表达式返回最后一个表达式的值a=10
LEK 回复 zibingo: 前面有人说返回的是最后一个
B
用户登录可进行刷题及查看答案
登录后提交答案