首页 > 试题广场 >

以下程序的输出结果为?

[单选题]
以下程序的输出结果为
#include <stdio.h>
int func(int x, int y) { return (x + y); }

int main() {
    int a = 1, b = 2, c = 3, d = 4, e = 5;
    printf("%d\n", func((a + b, b + c, c + a), (d, e)));
    return 0;
}

  • 15
  • 5
  • 9
  • 出错
推荐
C
注意括号中逗号运算符返回值是最后的表达式的值,题中第一个参数为c+a=4, 后一个参数为e=5,
所以结果为9
编辑于 2015-02-05 11:18:52 回复(3)
主要知识点是C++中的逗号操作符! C++ Primer第4版中145页关于逗号操作符论述如下:逗号表达式的结果是其最右边表达式的值
发表于 2015-07-27 16:48:15 回复(0)
c++primer 第4版p145,逗号表达式是一组由逗号分隔的表达式,这些表达式是从左向右计算。逗号表达式的结果是其最后边表达式的值,如果最后边的操作数是左值,则逗号表达式的值也是左值。此类表达式通常用于for循环。
发表于 2016-09-18 12:18:37 回复(0)
函数输入多个时,识别最后一个
发表于 2017-10-31 20:45:11 回复(0)
func (c+a,e)
发表于 2022-04-16 23:11:02 回复(1)
逗号表达式只取最后的式子作为结果,但是其他式子同样会运行的
发表于 2021-01-19 23:43:12 回复(0)
逗号表达式取最后一个表达式的值。
发表于 2016-05-24 19:27:01 回复(0)

逗号表达式值是最右边的那一个

发表于 2019-01-22 18:40:47 回复(0)
逗号运算符是指在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
发表于 2018-06-04 16:22:09 回复(0)
这道题本质上考察的是符号的优先级,对于逗号运算符是所有运算符中优先级最小的,其结合方向是从左到右,无论啥都会输出最后一个表达式
发表于 2017-07-13 19:56:45 回复(0)
逗号表达式
发表于 2017-07-05 18:43:41 回复(0)
主要知识点是C++中的逗号操作符! C++ Primer第4版中145页关于逗号操作符论述如下:逗号表达式的结果是其最右边表达式的值
发表于 2016-10-31 21:42:26 回复(0)
 printf(" % d\n", ...) 但是命名%后面有个空格。。。出题要严谨些啊
发表于 2016-09-07 12:03:58 回复(0)
逗号表达式
发表于 2015-09-12 09:17:59 回复(0)
此题主要考察逗号表达式 逗号表达式是c语言提供的特殊运算符,其运算规则为:从左至右依次计算表达式值,最终只取最后一个表达式的值为返回值 (3+5,6+8)的值为14 (a=3*5,a*4)的值为60 所以这里的值为9
发表于 2017-03-06 12:00:36 回复(0)
D
由于func函数中,只定义了两个参数,所以,当传入3个参数的时候会出现错误。
error: too many arguments to function ‘func’
发表于 2015-01-04 16:11:57 回复(2)
printf(“%d\n”,funs(c+a,e))
发表于 2024-05-06 08:25:07 回复(0)
???,这不会运行出错吗,明显括号多了一个呀
发表于 2022-10-02 14:47:38 回复(0)
逗号运算,取最后一个值
发表于 2022-08-10 00:45:57 回复(0)
c++primer 第4版p145,逗号表达式是一组由逗号分隔的表达式,这些表达式是从左向右计算。逗号表达式的结果是其最后边表达式的值,如果最后边的操作数是左值,则逗号表达式的值也是左值。此类表达式通常用于for循环。
发表于 2022-05-28 15:01:00 回复(0)
逗号表达式的返回值是最后一个参数的值
编辑于 2019-04-28 10:05:28 回复(0)