我遇到了这段代码,想知道它会返回这行[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);
}
答案 0 :(得分:7)
您不能从C中的函数一次返回多个变量。语句
return(p, q); // or return p, q;
仅返回q
。 ,
中的p, q
是comma operator。将评估p
并将其值丢弃,然后将评估q
,然后返回其值。