为什么80%的码农都做不了架构师?>>>
这样的代码:
for(int i=0;i<10;i++)
{//do something;
}
在VC6.0里面编译是通不过的,for(int i=0;i<10;i++)这是C++的语法,在C语言编译环境里面,需要写成:
int function()
{int i=0;
//声明要放在函数的开始部位!
//在声明变量(可含有初始化)之前,不能写除了声明其他变量或者声明函数以外的任何其他的逻辑//do something;for(i=0;i<10;i++){//do something;}}
举一个例子:
#include<stdio.h>int main(int argc, char*argv[])
{void showMsg();//声明子函数int i=0;//声明用于循环的控制变量printf("Hellow World!\n");//关于main函数与系统交互的默认参数显示如下printf("main 函数传入的第一个参数是后续字符串参数的个数,用空格分开,这个参数是:\n%d\n", argc);for(i=0;i<argc;i++){printf("第 %d 个参数是: %s\n", i, argv[i]);}showMsg();//调用子函数return 0;
}void showMsg()
{ int i=0;printf("这是一个子函数!\n");while(i<3){i++;printf("这是子函数里面的一个循环: %d\n",i);}
}
例子中主函数main()里面,声明子函数和声明变量的两个语句如下:
void showMsg();//声明子函数
int i=0;//声明用于循环的控制变量
这两句的位置可以互换。但是要注意,对于子函数的声明和变量的声明必须放在主调函数刚开始的位置,这是VC6.0的一个特点,进行上机实验或考试时候一定要注意!!
总结一下:
1 不要在循环控制语句的条件()里面定义变量。
2 任何函数中要使用的变量需要在函数刚开始的时候声明
3 调用其他函数时,如果子函数的定义在主调函数的后面,一定要在主调函数刚开始的时候进行子函数的声明
4 在编程的时候不宜编写过长的函数,尽量把逻辑功能互相之间分离开,然后写到单独的函数里面去,否则根据以上总结出来的经验,程序很可能变得比较难读,需要不断翻阅函数刚开始进行声明的地方。