您的位置:首页 > 其它

c程序的变量定义必须在所有函数之前?!

2010-03-10 10:59 447 查看
用vc6新建了一个win32的控制台程序,调试一个直接插入排序的小程序,文件定义为.c文件,而不是一般使用的.cpp文件,代码段如下:

#include <stdio.h>
void inst(int* x,int n)
{
int i,j,t;
for(i=1; i<n; i++)                  /* i表示插入次数,共进行n-1次插入*/
{
t = x[i];
for(j=i-1; j>=0; j--)           /* 寻找要插入t的位置*/
if(t < x[j])                /* 后移,空出位置*/
x[j+1] = x[j];
else
break;                   /* 找到位置时,退出循环*/
x[j+1] = t;                      /* 直接插入*/
}
return;
}

void main()
{
int a[10]={5,6,4,3,0,7,2,1,9,8};

inst(a,10);

for (int i=0;i<10;i++)
{
printf("a[%d]=%d /n",i,a[i]);
}

}


编译不通过,但是将文件后缀名改成.cpp就能运行通过。

最后发现将最后for函数体中的i的变量的定义移至inst(a,10)语句之前就能正常编译,看来c程序的变量定义必须在所有函数之前?!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐