以下程序的输出结果是main(){ int a=21 b=11; printf("%d\n" --a+b --b+a);} A.30 B.31 C.32 D

计算机 程序 已帮助 人

以下程序的输出结果是main(){ int a=21,b=11; printf("%d\n",--a+b,--b+a);} A.30 B.31 C.32 D.33

热搜:下面程序的功能是输出数组s中最大元素

答案解析

难度★★☆ 搜索
  • 参考答案:A本题主要考查逗号运算符。在本题的程序中,首先定义两个整型变量a和b,并分别赋初值为21和11,然后用输出语句对由a和b组成的表达式进行输出。输出语句的输出格式表明只输出一个数据,但在后面的输出列表中则有两个待输出的表达式。--a+b,--b+a的运算顺序是首先运算--a+b,然后由于--和+运算符的优先级高于逗号运算符,因此,运算--b+a,最后执行逗号运算符。运算--a+b的结果为31,但此时变量a的值变为了20,然后运算--b+a得到的结果为30,根据逗号运算符的特点,逗号运算符的结果为最后一个表达式的结果,因此,最后输出的30,本题正确的答案选A。