2016-11-10 8 views
-4

Мой учитель не хочет помогать мне с моей ошибкой, поэтому я не знаю, куда еще идти. В строке 19, addition();, ошибка говорит о том, что в вызове функции слишком мало аргументов, и я не уверен, почему это так. Я начинающий программист, но я вызывал функции раньше, поэтому не уверен, почему у меня проблема.Слишком мало аргументов для звонка

#include <stdio.h> 

int addition(int *change); 

int main(void) 
{ 
    int num = 10; 
    printf("Name \t Address \t Value\n"); 
    printf("%s \t %p \t %d\n", "num", &num, num); 

    int *change = &num; 
    printf("Change: %p\n", change); 

    *change = 100; 
    printf("The value of num is %d \n", num); 
    printf("The value of change is %d \n", *change); 

    addition(); 

    return 0; 
} 

int addition(int *change) 
{ 
    int input; 
    int result = input + *change; 

    printf("Input a value "); 
    scanf("%d", &input); 

    printf("The result will be change (%d) + input (%d)\n", *change, input); 
    printf("Result: %d", result); 

    return 0; 
} 
+2

Функция 'добавление 'объявляется как принимающая один аргумент. Подсчитайте количество аргументов между круглыми скобками в строке 'addition();'. Вам не хватает одного. – user2357112

+0

Итак, что вы думаете об этой ошибке? –

+0

'addition();' принимает аргумент 'int *'. Но вы ничего не проходите. Вы хотите передать 'дополнение (изменение);'? –

ответ

1

Возможно, это было бы лучше всего подходит для комментария, но мне не хватает необходимой репутации размещать комментарии ...

Когда вы вызываете функцию, вы часто должны предоставить некоторую информацию. Если бы я подошел к вам и приказал «Добавить!» вы можете ответить «что я должен добавить?» Это, по сути, то, что сообщает вам сообщение об ошибке. Вы выдаете команду, но вы не даете ей достаточной информации для выполнения этой команды.

Вы можете найти, какая дополнительная информация требуется для функции, взглянув на ее объявление. В этом случае ваша функция декларации:

addition(int *change) 

это означает, что для того, чтобы функционировать должным образом, функция требует указатель на целое число (целое *). Каждый раз, когда вы вызываете функцию добавления, вы должны указать этот аргумент, чтобы функция знала номер, к которому он должен добавить.

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