【一个小问题】

bluestar2009bak 2010-11-25 12:47:14
void Bubble(int a[],int nsize)
{
int j,k,temp;
for(j=1;j< nsize-1;j++)
{
for(k=0;k< nsize-j;k++)
{
if(a[k]<a[k+1])
{
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
}
}

}
void main()
{
int array[ ]={30,45,33,86,26,9};
int i=0; //就是这个 第一个位置;
Bubble(array,5);
//第二个位置;

for(i=0;i<=5;i++)
{
printf("%d ",array[i]);
}
}



为什么 这个int i=0; 放在 Bubble(array,5); 就可以

放在 Bubble(array,5); 后就不可以呢
...全文
134 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghang8888 2010-11-27
  • 打赏
  • 举报
回复
我用的是vs6.0,2个地方都可以。
东大坡居士 2010-11-27
  • 打赏
  • 举报
回复
编译器规定的啊
bluejays 2010-11-25
  • 打赏
  • 举报
回复
所谓“函数开头”就是指任何其他语句之前,必须先把所有的局部变量都定义了才行。
bluejays 2010-11-25
  • 打赏
  • 举报
回复
很多c编译器都要求所有的局部变量必须在函数开头定义,特别是比较老的编译器都这样。
Arics1 2010-11-25
  • 打赏
  • 举报
回复
定义变量要放在函数前面,否则会出错,编译器规定的!否者出错的!
tiannuosoft 2010-11-25
  • 打赏
  • 举报
回复
C规定变量放在函数开始的!
xiafeiananan 2010-11-25
  • 打赏
  • 举报
回复
这是规定,记住就可以了 呵呵呵
aining0809 2010-11-25
  • 打赏
  • 举报
回复
这个是“龟腚”,O(∩_∩)O~
wissup 2010-11-25
  • 打赏
  • 举报
回复
完完全全是语法和编译器的要求,LZ不要细究这个问题!
  • 打赏
  • 举报
回复
C89的标准。

变量的声明,定义,应该放在函数体实现之前。

C++和C99都没有此种限制。。
zhutianjin4355255 2010-11-25
  • 打赏
  • 举报
回复
C89的标准 C99就没有了
acrifyh 2010-11-25
  • 打赏
  • 举报
回复
标准的c语言就是这样要求,编译器老的,用新的就可以
luciferisnotsatan 2010-11-25
  • 打赏
  • 举报
回复
C语言语法要求就是这样。C99里好像就没这规定了
你用的啥编译器?太旧了吧,换个新点的吧
wq294948004 2010-11-25
  • 打赏
  • 举报
回复
标准C语言语法就是这样的。
bluestar2009bak 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luciferisnotsatan 的回复:]
C语言语法要求就是这样。C99里好像就没这规定了
你用的啥编译器?太旧了吧,换个新点的吧
[/Quote]

vc 6.0

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧