gpt4 book ai didi

c - 关于 C 使用 VC 和 gcc 或其他的不同规则?

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:42 25 4
gpt4 key购买 nike

代码简单如下code1:

#include<stdio.h>
void main()
{
int a=0;
printf("c");
int b=1;
printf("q");
}

问题是,当我在 Visual C++6.0 或 Visual Studio 2010 中编译此代码时,会出现有关“缺少 ;”的错误我知道错误与“;”无关。我这样写代码2的时候没有报错:

 #include<stdio.h>
void main()
{
int a=0;
int b=1;
printf("c");

printf("q");
}

但是当我用gcc或者IDE c-free 5编译code1时,没有问题。

这是 Microsoft 在其产品中使用的编译器还是我不知道的原因造成的问题。我不记得有哪本书说变量必须放在上面的 C 文件中。这些编译器有不同的标准??

最佳答案

Visual Studio until recently did not have any support for C99但目前支持 C99 的一个子集,它允许混合代码和声明,在 gcc 中,如果您使用 -std=c90 -pedantic,您将收到第一个代码的警告示例:

warning: ISO C90 forbids mixed declarations and code [-Wpedantic]

by default gcc 使用 -std=gnu90 但如果您添加 -pedantic 标志,您应该会看到相同的警告。

此外,main 应该返回 int 而不是 void

关于c - 关于 C 使用 VC 和 gcc 或其他的不同规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23271666/

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