C 请告诉我当返回多个变量时,存储哪一个变量?
我遇到了这段代码,想知道这行[X]将返回什么:C 请告诉我当返回多个变量时,存储哪一个变量?,c,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); } 不能从C中的函数一次返回多个变量 return(p, q); /
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);
}
不能从C中的函数一次返回多个变量
return(p, q); // or return p, q;
只返回q。在p中,q是a。p将被计算,其值将被丢弃,然后q将被计算,然后其值将被返回。始终是最后一个值。另外,不要使用void main。这太难看了。@Magisch胡说八道,void main在泛型C上下文中没有任何错误。如果没有dup,我会感到惊讶:你可以添加这一点,因为return不是函数,他会得到与return p,q;相同的结果;。为什么returnp,q等于returnp,q?我是说,int a;a=5,6;和int a;a=5,6;是不同的…@CoolGuy;在a=5,6;,表达式的计算结果为a=5,6;而在返回p,q中,它将返回p,q.@haccks,因此,无法使用return语句中的逗号运算符返回p?@CoolGuy;是的,有:返回q,p;: