为什么这段代码不能编译?

为什么这段代码不能编译?,第1张

概述任何人都可以解释为什么这个代码编译: #include <stdio.h>#include <string.h>int main (int argc, char *argv []){ FILE *ptr; char string[10] = "Testing"; ptr = fopen("C:\\Users\\Jordan\\Desktop\\Hello.txt 任何人都可以解释为什么这个代码编译:

#include <stdio.h>#include <string.h>int main (int argc,char *argv []){    file *ptr;    char string[10] = "Testing";    ptr = fopen("C:\Users\Jordan\Desktop\Hello.txt","wb");    fwrite(string,sizeof(string[0]),sizeof(string)/sizeof(string[0]),ptr);}

然而,这不会:给出错误C2065:’string’:未声明的标识符

#include <stdio.h>#include <string.h>int main (int argc,char *argv []){    file *ptr;    ptr = fopen("C:\Users\Jordan\Desktop\Hello.txt","wb");    char string[10] = "Testing";    fwrite(string,ptr);}

我在windows 7计算机上使用Visual Studio 2010.

谢谢

解决方法 Visual Studio使用旧的C89 / 90 C.在旧的C版本中,您不能混合声明和代码.

您的所有声明都必须排在最前面.这就是第二个例子无法编译的原因.

//  This a declarationfile *ptr;//  This is codeptr = fopen("C:\Users\Jordan\Desktop\Hello.txt","wb");//  This is another declaration. Not Allowed in C89/C90!!!char string[10] = "Testing";
总结

以上是内存溢出为你收集整理的为什么这段代码不能编译?全部内容,希望文章能够帮你解决为什么这段代码不能编译?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存