error C2143: syntax error : missing ';' before 'type'

前端 未结 3 863
有刺的猬
有刺的猬 2020-12-01 17:55

I am new to programming C.. please tell me what is wrong with this program, and why I am getting this error: error C2143: syntax error : missing \';\' before \'type\

相关标签:
3条回答
  • 2020-12-01 18:28

    I haven't used visual in at least 8 years, but it seems that Visual's limited C compiler support does not allow mixed code and variables. Is the line of the error on the declaration for int i=1; ?? Try moving it above the call to func();

    Also, I would use extern void func(void);

    0 讨论(0)
  • 2020-12-01 18:37

    this:

    int i=1;
    for(;i<=5; i++) {
    

    should be idiomatically written as:

    for(int i=1; i<=5; i++) {
    

    because there no point to declare for loop variable in the function scope.

    0 讨论(0)
  • 2020-12-01 18:47

    Visual Studio only supports C89. That means that all of your variables must be declared before anything else at the top of a function.

    EDIT: @KeithThompson prodded me to add a more technically accurate description (and really just correct where mine is not in one regard). All declarations (of variables or of anything else) must precede all statements within a block.

    0 讨论(0)
提交回复
热议问题