c程序的变量定义必须在所有函数之前?!
2010-03-10 10:59
447 查看
用vc6新建了一个win32的控制台程序,调试一个直接插入排序的小程序,文件定义为.c文件,而不是一般使用的.cpp文件,代码段如下:
编译不通过,但是将文件后缀名改成.cpp就能运行通过。
最后发现将最后for函数体中的i的变量的定义移至inst(a,10)语句之前就能正常编译,看来c程序的变量定义必须在所有函数之前?!
#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程序的变量定义必须在所有函数之前?!
相关文章推荐
- UIWidget是所有UI组件的抽象基类,作为基类当然定义了必须的成员变量和函数,接触过MFC或其他UI组件开发,想必都知道有一堆参数设置,尤其是Visual Studio的可视化界面,
- 还原Wss3.0内容数据库时遇到:"ComputerName\Microsoft##SSEE 上的 WSS_Content 包含用户定义的架构。数据库在能够使用之前必须为空。请删除所有表、存储过程以及其他对象,或使用其他数据库。 " 的提示,无法加载内容数据库
- Python的列表等变量的声明必须要在函数定义与函数调用之前
- Mathcad 是一种工程计算软件,主要运算功能:代数运算、线性代数、微积分、符号计算、2D和3D图表、动画、函数、程序编写、逻辑运算、变量与单位的定义和计算等。
- Mathcad 是一种工程计算软件,主要运算功能:代数运算、线性代数、微积分、符号计算、2D和3D图表、动画、函数、程序编写、逻辑运算、变量与单位的定义和计算等。
- c程序:定义函数areaZ,功能是求圆锥体积。在主函数中输入半径r和高h,调用函数areaZ求体积,并在主函数中输出圆锥的体积,其中变量r,h均为double型数据。(公式v=h*3.14*r2/3)
- C++中所有的变量和函数都必须有类型
- 静态函数里定义的变量,不为所有对象共享,类的静态变量和类外全局变量区别,静态函数和普通函数区别
- 结构体定义的时候,变量进行初始化必须在函数里面进行
- C++中所有的变量和函数都必须有类型
- JavaScript基础:JS函数中声明的所有变量在整个函数中都是有定义的
- c语言中函数变量定义是不是必须在函数的开始处?
- C++中所有的变量和函数都必须有类型
- opencv学习(四)头文件申明/main函数格式定义/程序(变量)命名规则/printf函数
- JS作用域为“函数级作用域”,记住最简明的一句“函数中声明的所有变量,无论是在哪里声明的,在整个函数中它们都是有定义的。”QQ253079952
- 常规dll 的接口函数定义+客户端程序接口函数导入
- SrcExpl 插件实现自动显示跳转函数及变量定义功能
- 写一个程序,输入一个长整型数,输入一任意一个长整数,请用函数一求出长整数所有之和,用函数二求出长整型数的逆序数。
- 第18个python程序:命名变量代码函数
- vim安装SrcExpl 插件,实现自动显示跳转函数及变量定义功能