【发布时间】:2014-09-02 23:21:56
【问题描述】:
好的,下面是代码。
#include <stdio.h>
int addmult (int,int);
int main (void)
{
int i=3,j=4,k,l;
k = addmult(i,j);
l = addmult(i,j);
printf("%d %d\n",k,l);
return 0;
}
int addmult ( int ii, int jj )
{
int kk,ll;
kk = ii + jj;
ll = ii*jj;
return(kk,ll);
}
一个函数如何在 C 中同时返回两个东西?
编辑:此代码运行良好。我想知道,它为什么有效?
【问题讨论】:
-
改为返回结构或数组(动态分配)。
-
它不是返回两件事,它只是返回一件事:
ll。 -
你需要了解逗号运算符
-
但是为什么它会这样工作呢?函数如何一次返回两个值?
-
它没有返回多个值。请注意 return 语句中的逗号 (',') 运算符,该运算符从左到右计算并返回最右边的表达式作为结果。因此 12 被退回。
标签: c