gpt4 book ai didi

c - Visual Studio 2008 中的奇怪编译错误

转载 作者:太空狗 更新时间:2023-10-29 15:45:37 24 4
gpt4 key购买 nike

我在编译以下代码时遇到问题:

#include <stdio.h>
#include <limits.h>
int main () {
printf("short: [%d,%d]\n",SHRT_MIN,SHRT_MAX);
printf("int: [%d, %d]\n",INT_MIN, INT_MAX);
printf("long: [%d, %d]\n",LONG_MIN,LONG_MAX);
int aa=017;
printf("%d\n",aa);
return 0;
}

错误信息是:

1>c:\tic\ex1\ex2\ex2.c(12) : error C2143: syntax error : missing ';' before 'type'
1>c:\tic\ex1\ex2\ex2.c(13) : error C2065: 'aa' : undeclared identifier

但是,为此编译没问题:

    #include <stdio.h>
#include <limits.h>
int main () {
int aa=017;
printf("short: [%d,%d]\n",SHRT_MIN,SHRT_MAX);
printf("int: [%d, %d]\n",INT_MIN, INT_MAX);
printf("long: [%d, %d]\n",LONG_MIN,LONG_MAX);
printf("%d\n",aa);
return 0;
}

知道问题出在哪里吗?

最佳答案

在 C 中,以前必须在执行任何代码之前在作用域的顶部声明变量。 C99 中不是这种情况(Visual Studio 未实现。)

关于c - Visual Studio 2008 中的奇怪编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com