我正在学习C语言并使用VS 2019社区版。
学习C时,我不想意外使用任何C ++功能,例如在for内声明for变量。例如。现在,这段代码可以编译:
for (int i = 0; i < 100; ++i)
{
...
}
但是它不是C,而是C ++,我希望编译器告诉我。
有可能吗?
答案 0 :(得分:2)
是的,Visual Studio通过文件扩展名强制执行C编译器。如果满足.c,则切换为使用C编译器。没有选择说VS C编译器应该使用哪个C标准的选项。 VS主要符合C99,但不完全支持最新的C11。这是由于VS编译器是C ++编译器,而C编程语言支持却在阴影中。
这是更好的答案Is there any option to switch between C99 and C11 C standards in Visual Studio?