问题说的不清楚,scanf后面怎么可以定义变量,scanf是一个输入函数,在缓冲区按格式获取数据并且赋值,你是不是忘了加在变量前 & 这个取址符号
C89规定, 在C语言中, 变量的声明必须位于任何可执行语句之前;不过在C99以及C++中, 你可以在任何地方声明变量;
出现这个问题的根本原因就在于VC6于1998年发行, 那时候还没有C99的这个标准, 编译器不支持C99;
但是, 直到现在, 微软的IDE还是没有完全兼容C99, 这就像浏览器都不完全遵循w3c中的标准一样, 因为这牵扯到一些商业原因。
解决方案:
1. 将文件的后缀名改为.cpp, VC6将会以C++的方式编译他(注意: 不推荐这种方式);
2. 抛弃VC6, 换成新版的GCC编译器, 可彻底解决;
3. 老老实实将变量全部声明在所有可执行语言的前面。
这是标准化的区别,是由于编译器引起的,导致个别语法不一致。推荐用C-Free IDE(项目结构简单的时候)。