用main代表“主函数”的名字。每一个C++程序都必须有一个 main 函数。main前面的int的作用是声明函数的类型为整型。程序第6行的作用是向操作系统返回一个零值。如果程序不能正常执行,则会自动向操作系统返回一个非零值,一般为-1。
函数体是由大括号{ }括起来的。本例中主函数内只有一个以cout开头的语句。注意C++所有语句最后都应当有一个分号。
再看程序的第1行“#include
程序的第2行“using namespace std; ” 的意思是“使用命名空间std”。C++标准库中的类和函数是在命名空间std中声明的,因此程序中如果需要用到C++标准库(此时就需要用#include命令行),就需要用“using namespace std; ”作声明,表示要用到命名空间std中的内容。
在初学C++时,对本程序中的第1, 2行可以不必深究,只需知道:如果程序有输入或输出时,必须使用“#include
具体的详细内容和示例可以参考这个链接:
http://c.biancheng.net/cpp/biancheng/view/100.html
首先输出结果是 8,17
第二,你上面这个程序编译不了的,有2个问题
1),函数的返回值类型没写;
2),func()函数体放在了main()函数后面且没再main()函数中声明。
第三,注释该程序:
#include
void main() //修改1:增加了void
{
int k=4,m=1,p; //定义变量k,m,p
int func(int,int); //修改2:声明函数func
p=func(k,m); //以k,m为参数,调用函数func,返回值赋给p
printf("%d, ",p); //输出p的值;
p=func(k,m); //以k,m为参数,第二次调用函数func,返回值赋给p
printf("%d\n",p); //再输出p的值;
}
int func(int a,int b)
{
static int m=0,i=2; //定义静态变量 m,i,初值分别为0,2;
i+=m+1; // i = i+m+1;第一次:i=2+0+1=3;第二次:i=3+8+1=12;
m=i+a+b; //m = i+a+b;第一次:m=3+4+1=8;第二次:m=12+4+1=17;
return m; //将m作为返回值 第一次返回:8; 第二次返回:17;
}
第四、说明一下“静态变量”
在被调用的函数体内,如果声明了某些变量(非静态),那么这些变量仅在该函数被执行期间起作用,也就意味着当函数的一次调用结束的时候,这些变量所在的内存空间都被释放掉了。如果再一次调用该函数,它将重新声明定义这些变量。
而如果某个变量被声明为静态变量(static)则这个变量在该函数第一次被调用时创建(分配其内存空间),当函数调用结束时,这个变量的内存空间保持不变,并不释放。这样如果该函数第二次被调用,则该变量将继续保有上一次执行时的值参与运算。
头文件 库函数包含基本的函数原型
#include
int main(void)
{
int a[51];
int i,j;
for(i=0;i<51;i++)