2017-02-14 45 views
-1

我的兩個要添加的變量在main中定義。如何打印在main中聲明的兩個數字的總和,並將其作爲參數傳遞給返回類型爲void的函數總和。

有一個sum函數(suppose)。它的返回類型是無效的。 變量傳遞給這個函數,我想在main中打印結果。

+0

什麼是'sum'的原型?據推測,正如在下面的答案中提到的那樣,它將一個指針作爲將用於存儲結果的參數。 – Virgile

+0

我提到過只有兩個參數 - sum和value的返回類型是在void中。我沒有想到有第三個參數作爲指針。所以解決了它。 –

回答

3

您可以定義函數是這樣的:

void sum(int x, int y, long long int *x_plus_y) 
{ 
    *x_plus_y = (long long int)x + y; 
} 

x_plus_y是一個 「輸出參數」。

這裏是一個示範項目

#include <stdio.h> 

void sum(int x, int y, long long int *x_plus_y) 
{ 
    *x_plus_y = (long long int)x + y; 
} 

int main(void) 
{ 
    int x, y; 

    printf("Enter two integer numbers: "); 
    scanf("%d%d", &x, &y); 

    long long int x_plus_y; 

    printf("Sum of %d and %d is equal to %lld\n", 
     x, y, (sum(x, y, &x_plus_y), x_plus_y)); 
} 
相關問題