gpt4 book ai didi

c - 我如何告诉 Visual Studio/Microsoft 的 C 编译器允许在第一条语句之后声明变量?

转载 作者:太空狗 更新时间:2023-10-29 16:34:03 25 4
gpt4 key购买 nike

我有在 GNUARM 编译器上编译的代码,但 Visual Studio 2010 出现错误。该问题涉及在 C 语言文件中的第一条语句之后声明变量:

主.c

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i = 6;
i = i + 1;
printf("Value of i is: %d\n", i);
int j = i * 10; // <-- This is what Visual Studio 2010 complains about.
printf("Value of j is: %d\n", j);
return EXIT_SUCCESS;
}

下面的代码编译没有错误:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i = 6;
int j; // <-- Declaration is now here, valid according to K&R rules.
i = i + 1;
printf("Value of i is: %d\n", i);
j = i * 10; // <-- Moved declaration of j to above.
printf("Value of j is: %d\n", j);
return EXIT_SUCCESS;
}

我正在使用默认设置创建 Win32 控制台项目。当我将“编译为”属性设置为“编译为 C++ (/TP)”时,我在某些 Visual Studio 头文件中遇到编译错误。 (右键单击项目,选择属性配置属性C/C++高级)。

如何告诉 Visual Studio 2010 允许在第一个语句之后声明变量,例如 C++ 或当前的 C 语言标准?

最佳答案

你不知道。 Visual C++ 不支持 C99。

您需要编译为 C++(并相应地更新您的代码)或遵循 C89 的规则。

(我不知道使用 /TP 编译时出现什么错误;如果我为 /TP 添加 #include <stdlib.h>,我可以使用 EXIT_SUCCESS 成功编译您的示例;如果您提供更多详细信息,我或其他人否则可能会有所帮助。)

关于c - 我如何告诉 Visual Studio/Microsoft 的 C 编译器允许在第一条语句之后声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614397/

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