簡體   English   中英

獲得“未聲明的標識符”錯誤? 為什么?

[英]Getting an “undeclared identifier” error? why?

我收到以下錯誤:

error C2143: syntax error : missing ';' before 'type'
error C2065: 'month' : undeclared identifier
error C2065: 'day' : undeclared identifier
error C2065: 'year' : undeclared identifier
error C2065: 'month' : undeclared identifier
error C2065: 'day' : undeclared identifier
error C2065: 'year' : undeclared identifier

我正在運行Visual Studio。

這是我的代碼:

#include <stdio.h>
#include <string.h>

main()
{
    char middle;
    char first[30], last[30];
    printf("WHat us ur midint?");
    printf("\n");
    scanf(" %c", &middle);
    printf("\n");
    printf("WHat us ur name?");
    printf("\n");
    scanf(" %s %s", first, last);
    printf("ur name is %s %c %s\n\n", first, middle, last);
    printf("\n");
    int month, day, year;
    scanf(" %d/%d/%d", &month, &day, &year);
    printf("Birthdate: %d/%d/%d\n\n", month, day, year);
}

有誰知道為什么會發生這些錯誤?

在編譯C程序時,MSVC不允許聲明遵循塊中的語句(它使用舊的C90規則 - 在1999標准中將對語句混合的聲明的支持添加到C中)。

移動int month, day, year;的聲明int month, day, year; 到你的程序的頂部:

char middle;
char first[30], last[30];
int month, day, year;

...

Visual Studio 2010不支持c99和c99混合聲明和語句。 您必須將所有聲明( monthdayyear )放在main函數的頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM