定义指针数据有什么格式吗?
#include<stdio.h>main()
{
int i;
int a,b;
for(i = 0;i <= 4;i++)
a = i;
int*p1; //加上这句之后就报错了....
}
那句要写在for前面的位置。。。 这是C的规范,变量定义要在函数体内开始的位置完成,不能插入在中间。 什么编译器,恩,报的什么错?截个图 本帖最后由 815116820 于 2014-5-28 22:01 编辑
elvo 发表于 2014-5-28 20:40 static/image/common/back.gif
什么编译器,恩,报的什么错?截个图
VC6++C:\Users\Administrator\Desktop\QQ截图20140528215933.png santaclaus 发表于 2014-5-28 20:37 static/image/common/back.gif
这是C的规范,变量定义要在函数体内开始的位置完成,不能插入在中间。
应该没这个规定的.... santaclaus 发表于 2014-5-28 20:37 static/image/common/back.gif
这是C的规范,变量定义要在函数体内开始的位置完成,不能插入在中间。
要不然怎么半路定义变量? 815116820 发表于 2014-5-28 22:00 static/image/common/back.gif
VC6++
说字符前面缺少分号什么的!艹蛋 815116820 发表于 2014-5-28 22:02
应该没这个规定的....
为什么不试下呢? 本帖最后由 oggplay 于 2014-5-28 22:59 编辑
记住,以后遇到这种问题答案就是你的编译器不支持C99标准
oggplay 发表于 2014-5-28 22:57 static/image/common/back.gif
记住,以后遇到这种问题答案就是你的编译器不支持C99标准
C99是什么东西? 本帖最后由 oggplay 于 2014-5-28 23:30 编辑
百度吧。。
http://zh.wikipedia.org/wiki/C99#C99
如10楼说,的确是你编译器问题,1楼也说得不错,不过这个是VC在编译c的时候出现的bug吧,。。。
VC中编译c,如果在大括号中,则声明要放在函数调用之前,否则就会报错:
syntax error : missing ';' before 'type'
不过只是VC编译c,VC编译C++则不会,gcc编译c也不会的。。。 我用code::block 调整了以下格式,可以执行的,但有警告。。 {:1_1:} 感觉你这写的不是很规范啊 纯C的不是要在开头做申明吗?
页:
[1]