c语言函数返回两个值指针 c语言 返回两个值

c语言一个函数能否有两个返回值

应该是正确的,因为系统可能把a,b作为一个逗号表达式,返回逗号表达式的值b,不行的话,return (a.b);试试

站在用户的角度思考问题,与客户深入沟通,找到赫山网站设计与赫山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖赫山地区。

你的语句可能正确,但你想让它返回a和b不可能,一个return 语句只返回一个值,执行完return,程序就结束

C语言 如果调用两个函数 就是返回两个值

如果使用 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;

}

该子函数返回的就是两个值:改变后的数字、以及改变后的字符串。

编程中C语言函数想返回2个值该怎么办?

楼下真牛逼,恐怕是怪兽大学毕业的吧。

推荐做法

把函数声明写成这样int func(int* ret1,int* ret2)

这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。

方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;


本文题目:c语言函数返回两个值指针 c语言 返回两个值
路径分享:http://ybzwz.com/article/doideso.html