请告诉我何时返回多个变量哪个存储?

-3 c

我遇到了这段代码,想知道这行[X]会返回什么:

int add_multiply(int a, int b)
{
  int p, q;
  p = a + b;
  q = a * b;
  return (p, q); //X
}
void main()
{
  int b, a = add_multiply(1, 2);
  b = add_multiply(3, 4);
  printf("%d%d", a, b);
}
Run Code Online (Sandbox Code Playgroud)

hac*_*cks 7

您不能从C中的函数一次返回多个变量.语句

return(p, q); // or return p, q; 
Run Code Online (Sandbox Code Playgroud)

q仅返回.该,p, q是一个逗号操作符.p将被评估,它的值将被丢弃,然后q将被评估,然后将返回其值.

  • 你可以添加那个,因为`return`不是一个函数,他会得到与`return p,q;`相同的结果. (2认同)