C++
在自定义函数时,如果出现需要返回多个值,应该如何解决?或者有什么替代的方法?比如说自定义一个比较大小的函数(如比较两个数),想要同时得到比较完成后的两个数。
求帮忙,谢谢 用结构体进行打包 #include <iostream>
struct input_t {
int a, b;
};
input_t get_input(std::istream &is) {
input_t i;
is >> i.a >> i.b;
return i;
}
int main() {
input_t i = get_input(std::cin);
std::cout << i.a << std::endl << i.b << std::endl;
return 0;
}
利用指针传递参数,想返回多少个值都能办到
#include <stdio.h>
void foo(int * a , int * b , int * c)
{
int t ;
if(* a > * b) {
t = * b ;
* b = * a ;
* a = t ;
}
if(* a > * c) {
t = * c ;
* c = * a ;
* a = t ;
}
if(* b > * c) {
t = * c ;
* c = * b ;
* b = t ;
}
}
main(void)
{
int a = 1000 , b = 100 , c = 10 ;
printf("a = %d , b = %d , c = %d\n" , a , b , c) ;
foo(& a , & b , & c) ;
printf("a = %d , b = %d , c = %d\n" , a , b , c) ;
}
编译、运行实况
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
a = 1000 , b = 100 , c = 10
a = 10 , b = 100 , c = 1000
D:\00.Excise\C>
页:
[1]