大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
应该是正确的,因为系统可能把a,b作为一个逗号表达式,返回逗号表达式的值b,不行的话,return (a.b);试试
站在用户的角度思考问题,与客户深入沟通,找到赫山网站设计与赫山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖赫山地区。
你的语句可能正确,但你想让它返回a和b不可能,一个return 语句只返回一个值,执行完return,程序就结束
如果使用 return 语句的话,那么一次函数调用就只能返回一个值;如果想一次函数调用操作就能够返回两个值的话,那么就只能够通过传递指针变量实现。例如下程序:
void mysubcall(int *, char *) ;
void main( )
{
int num = 10 ;
char mystr[20]=“1234567890”;
mysubcall(num,mystr);
printf(“%d %s\n”,num,mystr);
}
void mysubcall(int * num, char mystr[20])
{
(*num)+=40;
mystr[5]+=5;
}
该子函数返回的就是两个值:改变后的数字、以及改变后的字符串。
楼下真牛逼,恐怕是怪兽大学毕业的吧。
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;