Nikita Gupta
Nikita Gupta

Reputation: 9

redefinition of ‘main’

As I am new to programming, I was trying to write a simple code using functions which will give me the addition of three numbers. Here's the code!

/* 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;
}

And the error was as follows:

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

Upvotes: 0

Views: 6468

Answers (3)

GeeYes
GeeYes

Reputation: 88

Pretty sure this is one of the online coding sites' question. They put in the main function themselves by appending it to the code, you don't have to explicitly write it. Delete the main function you have written and check if that works out.

Upvotes: 0

urgentx
urgentx

Reputation: 3931

In modern C, empty argument parentheses mean that the type and number of arguments is unknown.

Although this segment runs fine with most compilers, yours might be picky. Try declaring main with zero arguments explicitly, like this:

int main(void) {
    //code
}

Upvotes: 0

GregH
GregH

Reputation: 5459

You have another main function in the code somewhere. Post the complete code and I will take a closer look. But that is the only way you can receive this error

Upvotes: 1

Related Questions