当函数需要输出多个返回值时应该怎么处理呀

编写函数,统计一个字符串中字母、数字、空格的个数。在主函数中调用并输出统计结果(用指针完成)

返回值只能有一个,但是可以传入多个指针来获取到修改过的值,int fun(int*x,int*y,int*z,char* str)在函数中修改x,y,z的值即可。

如果一个函数中出现了多出dureturn语句,那么函数会执行首先遇到的那个return语句。

因为C语言也是采用的按值传参的方式,所以只能返回一个返回值。如果需要得到多个返回值,那么可以采用指针做为函数参数(具体做法参见那个经典的交换两个数的操作),另外,如果参数个数太多,还是建议用结构体

扩展资料:

函数可以有返回值,也可以没有返回值。

(1)没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。

(2)有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。

函数的返回值类型是在定义函数时指定的。return 语句中表达式的类型应与定义函数时指定的返回值类型一致。如果不一致,则以函数定义时的返回值类型为准,对 return 语句中表达式的类型自动进行转换,然后再将它返回给主调函数使用。

参考资料来源:百度百科-返回值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-22
int func(info *,char *) 一般都是这种情况,返回值通常来描述执行是否有误, info是你定义的结构体,他的多个成员来描述你需要的数据,当然要传指针。。。。
info func(char *) //这样也行,但不能返回指针,如果你的函数统计数据时func的局部变量,等你用的时候可能数据就变了(局部变量函数退出时释放)。。。
第2个回答  2014-04-22

用指针、地址参数传递即可。

void fun(char* s,int &nChar,int &nInt,int &nBlk);

这样在函数中赋值三个int,数值会传递回主函数。

本回答被提问者和网友采纳
第3个回答  2014-04-22
返回值只能有一个,但是可以传入多个指针来获取到修改过的值
int fun(int*x,int*y,int*z,char* str)在函数中修改x,y,z的值就可以了
相似回答