C语言本身不支持直接返回多个值,但可以通过以下几种方法实现多个值的返回:
#include <stdio.h>
struct MultipleValues {
int value1;
int value2;
};
struct MultipleValues getValues() {
struct MultipleValues values;
values.value1 = 10;
values.value2 = 20;
return values;
}
int main() {
struct MultipleValues result = getValues();
printf("Value 1: %d\nValue 2: %d\n", result.value1, result.value2);
return 0;
}
#include <stdio.h>
void getValues(int* value1, int* value2) {
*value1 = 10;
*value2 = 20;
}
int main() {
int result1, result2;
getValues(&result1, &result2);
printf("Value 1: %d\nValue 2: %d\n", result1, result2);
return 0;
}
#include <stdio.h>
int value1, value2;
void getValues() {
value1 = 10;
value2 = 20;
}
int main() {
getValues();
printf("Value 1: %d\nValue 2: %d\n", value1, value2);
return 0;
}
需要注意的是,使用指针参数或全局变量时要确保变量的作用范围和生命周期,以避免出现意外的问题。而使用结构体可以更好地封装多个值,提高代码的可读性和可维护性。