c语言中为什么变量定义在scanf后面会报错

2025-03-28 11:19:16
推荐回答(1个)
回答1:

这是由于编译器对C语言标准的支持情况造成的。估计是你所用的编译器是按照C89标准执行的。

C89规定, 在C语言中, 变量的声明必须位于任何可执行语句之前;不过在C99以及C++中, 你可以在任何地方声明变量;
解决方案:
1. 将文件的后缀名改为.cpp, 编译器将会以C++的方式编译他(注意: 不推荐这种方式);
2. 抛弃老版本的编译器, 换成新版;
3. 老老实实将变量全部声明在所有可执行语言的前面。