溫馨提示×

C語言return后值不同如何解決

小億
203
2023-09-07 23:06:34
欄目: 編程語言

當一個函數有多個返回值時,可以使用以下幾種方法來解決這個問題:

  1. 使用指針參數:可以將函數需要返回的多個值通過指針參數傳遞給調用函數,在調用函數內部修改指針所指向的變量的值。
void func(int a, int b, int* sum, int* difference) {
*sum = a + b;
*difference = a - b;
}
int main() {
int a = 10, b = 5, sum, difference;
func(a, b, &sum, &difference);
printf("Sum: %d\n", sum);
printf("Difference: %d\n", difference);
return 0;
}
  1. 使用結構體:可以定義一個結構體,將需要返回的多個值作為結構體的成員,并將結構體作為函數的返回值。
typedef struct {
int sum;
int difference;
} Result;
Result func(int a, int b) {
Result result;
result.sum = a + b;
result.difference = a - b;
return result;
}
int main() {
int a = 10, b = 5;
Result result = func(a, b);
printf("Sum: %d\n", result.sum);
printf("Difference: %d\n", result.difference);
return 0;
}
  1. 使用全局變量:可以定義全局變量,將需要返回的多個值存儲在全局變量中,在其他函數中直接訪問這些全局變量。
int sum;
int difference;
void func(int a, int b) {
sum = a + b;
difference = a - b;
}
int main() {
int a = 10, b = 5;
func(a, b);
printf("Sum: %d\n", sum);
printf("Difference: %d\n", difference);
return 0;
}

以上是幾種常見的解決多個返回值問題的方法,根據具體情況選擇合適的方法來解決問題。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女