Chinaunix
标题:
VC++6的神奇
[打印本页]
作者:
cai800315
时间:
2014-05-15 23:28
标题:
VC++6的神奇
有下面的简单程序:
#include <stdio.h>
int main( void )
{
printf("hello,world!\n");
int i=0;
int *p=&i;
printf("i=%d\n",*p);
return 0;
}
在vc++6中编译,结果出来下面的错误,
D:\cdh\hello.c(7) : error C2143: syntax error : missing ';' before 'type'
D:\cdh\hello.c(8) : error C2143: syntax error : missing ';' before 'type'
D:\cdh\hello.c(10) : error C2065: 'p' : undeclared identifier
D:\cdh\hello.c(10) : error C2100: illegal indirection
这个出错我是百思不得其解,请高手指点一下。
作者:
windoze
时间:
2014-05-15 23:35
VC6当然很神奇,Turbo C++更神奇
作者:
cai800315
时间:
2014-05-15 23:58
有谁能解释一下?
作者:
Susake_
时间:
2014-05-16 00:23
printf("hello,world!\n";
这是啥?试试VS2013
作者:
fender0107401
时间:
2014-05-16 00:28
vc6.0,这个都很多年了吧。。。
作者:
hellioncu
时间:
2014-05-16 08:25
你先把代码贴正确
作者:
folklore
时间:
2014-05-16 08:30
src没问题, VC6也没问题。
问题在这:
D:\cdh\hello
.c
作者:
hellioncu
时间:
2014-05-16 08:53
folklore 发表于 2014-05-16 08:30
src没问题, VC6也没问题。
问题在这:
还是你观察仔细,当作C编译,变量定义不能在语句后面
作者:
Sniper_Killer
时间:
2014-05-16 10:33
变量定义要在最前面
作者:
folklore
时间:
2014-05-17 09:33
回复
8#
hellioncu
俺是扫描仪。。
作者:
idi0t
时间:
2014-05-17 10:42
VC6(99年之前出的
好老了) C编译只支持C89,同时Ansi c标准规定变量必须声明在函数最开始的地方,而C99则允许在使用的时候才声明
作者:
fucanfu
时间:
2014-05-17 15:04
其他的也不行
作者:
langue
时间:
2014-05-22 06:37
编译器参数 /TC 改成 /TP,或者用 { } 增加一个新的代码块,定义在代码块的头部。
我的习惯是尽量不要让声明出现在函数体的中间位置。
作者:
sxcong
时间:
2014-05-29 17:23
你的扩展名是.c的话,就出错,因为老的c标准,
printf("hello,world!\n");
int i=0;
定义变量一定要放在前面。
不过,如果扩展名是.cpp,这样是不错的。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2