同一源程序在vc2012可以正确运行,但是在vc6就编译出错,为什么啊?

电脑win8系统,我用vc2012写了一简单程序,可以正确编译运行,但是当把代码拷到vc6上时就不能编译了,提示错误。请问,这是什么问题导致的?如果要在vc6上能运行应该... 电脑win8系统,我用vc2012写了一简单程序,可以正确编译运行,但是当把代码拷到vc6上时就不能编译了,提示错误。请问,这是什么问题导致的?如果要在vc6上能运行应该怎么改一下?学生初学c语言。大神指导呐!谢谢!
附上代码:
#include<stdio.h>
void main(void)
{printf("欢迎使用字母大小写转换工具\n请输入任意单个字母:");
char a;
a=getchar();
if (a>='a'&&a<='z')
{a=a-32;
printf("该小写字母对应大写形式是:");
putchar(a);
printf("\n***************************************\n");}
else
if (a>='A'&&a<='Z')
{a=a+32;
printf("该大写字母对应小写形式是:");
putchar(a);
printf("\n***************************************\n");
}
else
printf("输入错误!!!\n\007");

}
——————————————————————————————————————
用vc6编译时提示的错误:
--------------------Configuration: 字母大小写智能转换 - Win32 Debug--------------------
Compiling...
字母大小写智能转换.c
c:\users\james bond\desktop\字母大小写智能转换.c(4) : error C2143: syntax error : missing ';' before 'type'
c:\users\james bond\desktop\字母大小写智能转换.c(5) : error C2065: 'a' : undeclared identifier
执行 cl.exe 时出错.

字母大小写智能转换.obj - 1 error(s), 0 warning(s)
展开
 我来答
grf123
2014-03-12 · TA获得超过538个赞
知道小有建树答主
回答量:455
采纳率:80%
帮助的人:252万
展开全部
经验证,这似乎是一个VC6.0独有的BUG。
他无法识别位于main函数下的第一条printf语句。
将你的程序第一条和第二条位置对调一下就能够顺利执行。
PS: winXP都已经不能保证VC6.0完全正确,何况win8.
更多追问追答
追问
这样啊,正纳闷呢!刚刚试了下,果然可以!谢谢啦!
追答
又验证了一下,其实也不能算BUG。
因为你的文件扩展名是.c,也就是C文件。C文件要求必须将所有的声明放到最前面。
我猜你在用2013的时候新建文件的扩展名是cpp吧。

你试试如果将扩展名改为.c,也就是纯C语言文件,那么应该一样会报错。
综上,这不是BUG,而是C语言的要求。C语言要求所有的声明必须强制在正式的执行语句之前。可能跟底层的编译有关吧。
ttyyuu20111201
2014-03-12 · TA获得超过1362个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:278万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sky9988227
2014-03-12 · 超过24用户采纳过TA的回答
知道答主
回答量:115
采纳率:100%
帮助的人:65.8万
展开全部
你重新建一个工程 别用”字母大小写智能转换“做工程名 用英文名字试试

代码部分应该没什么问题
更多追问追答
追问
不行啊,我刚刚试了,还是不能编译,提示的错误也没变。会不会是不兼容win8呢?
追答
我是用win7 64位机编译的 没问题 你是重新建的工程么?重新敲一下代码试试呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式