2015-06-05 2 views
0

Поскольку я новичок в программировании, я пытался написать простой код, используя функции, которые дадут мне добавление трех чисел. Вот код!redefinition of 'main'

/* Your includes go here */ 
#include <stdio.h> 

int addThreeNumbers(int a, int b, int c) 
{ 
    int d; 
    d = a + b + c; 
    return(d); 

    /* Complete this function only 
     DO NOT write main function. 
    */ 
} 

int main() 
{ 
    int x, y, z, sum; 
    printf("Enter the three numbers: "); 
    scanf(" %d %d %d", &x, &y, &z); 
    sum = addThreeNumbers(x, y, z); 
    printf("The sum is %d", sum); 
    return 0; 
} 

И ошибка была следующим образом:

solution.c:30:5: error: redefinition of ‘main’ 
solution.c:15:9: note: previous definition of ‘main’ was here 
+1

Возможно, у вас есть несколько источников в вашем проекте, содержащих 'main'. –

+0

Я не вижу ничего плохого здесь. Это полный код> –

+3

В коде, который вы вставили, нет строки 30 – Diego

ответ

1

У вас есть еще один основной функции в коде где-то. Опубликуйте полный код, и я присмотрю. Но это единственный способ получить эту ошибку.

+0

Это полный код. –

0

В современных C пустые скобки аргументов означают, что тип и количество аргументов неизвестны.

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

int main(void) { 
    //code 
} 
+0

Я боюсь, что это не имеет никакого отношения к вопросу. –

0

Удостоверьтесь, что это один из вопросов онлайн-кодирования. Они сами ввели основную функцию, добавив ее в код, вам не нужно явно писать ее. Удалите основную функцию, которую вы написали, и проверьте, не работает ли это.

+0

Да! Это вопрос онлайн-кодирования сайтов. –

+0

Просто удалите основную функцию в своем коде и отправьте ее. Он должен работать – GeeYes