#include <stdio.h>
#include <Windows.h>
int main()
{
TCHAR buff[1024];
GetLogicalDriveStrings(1024, buff);
int i;
for(i = 0; buff[i] != 0; i += 4)
printf("%S", buff+i);
}
当我尝试使用 MSVC 编译它时,出现以下错误:
注释掉 GetLogicalDriveStrings(1024, buff);
会使代码编译得很好
最佳答案
旧版本的 C 要求在 block 的开头声明局部变量,在函数调用之前。将 int i;
移动到函数的顶部,以与 buff
的声明一起。
C++ 取消了这一要求,C99 也是如此。
关于c - 为什么这不编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3090405/