2017-02-14 32 views
-1

Мои две переменные, которые должны быть добавлены, определены в основном.Как напечатать сумму двух чисел, объявленных в main и переданную как аргумент функции sum, тип возврата которой недействителен в основном.

Существует функция суммы (предположим). Его тип возврата недействителен. Переменные передаются этой функции, и я хочу напечатать результат в main.

+0

Что такое прототип 'sum'? Предположительно, как указано в ответе ниже, он принимает указатель как аргумент, который будет использоваться для хранения результата. – Virgile

+0

Я упомянул только о двух аргументах: значения и возвращаемый тип суммы будут в 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)); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^