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;
}
需要注意的是,使用指針參數或全局變量時要確保變量的作用范圍和生命周期,以避免出現意外的問題。而使用結構體可以更好地封裝多個值,提高代碼的可讀性和可維護性。