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

时间:2016-04-08 11:49:39

标签: 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);
}

1 个答案:

答案 0 :(得分:7)

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

return(p, q); // or return p, q; 

仅返回q,中的p, qcomma operator。将评估p并将其值丢弃,然后将评估q,然后返回其值。