携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情
复合语句(块)
复合语句用花括号括起来的一条或多条语句,复合语句也称为块。比较下面两个程序:
- 程序段一
index = 0;
while(index++<10)
sam=10*index+2;
printf("sam=%d\n",sam);
- 程序段二
index=0;
while(index++<10)
{
sam=10*index+2;
printf("sam=%d\n",sam);
}
程序段一,while循环中只有一条赋值表达式语句。没有花括号,while语句从while这行运行下至一个分号。循环结束后,printf()函数只会被调用一次。
程序段二,花括号确保两条语句都是while循环的一部分,每执行一次循环就调用一次printf()函数。根据while语句的结构,整个复合语句被视为一条语句。
带参数函数
举一个带参数的函数例子
#include <stdio.h>
void pound(int n); //ANSI函数原型声明
int main(){
int times=5;
char ch ='!'; //ASCII码是33
float f = 6.0f;
pound(times); //int类型的参数
pound(ch); //和pound((int)ch); 相同
pound(f); //和pound((int)f); 相同
return 0;
}
void pound(int n) //ANSI风格函数头
{ //表明该函数接受一个int类型的参数
while(n-->0)
printf("#");
printf("\n");
}
运行结果
首先,看程序的函数头:void pound(int n);
如果函数不接受任何参数,函数头的圆括号中应该写上关键字void。由于该函数接受一个int类型的参数,所以圆括号中包含一个int类型变量n的声明。参数名应遵循c语言的命名规则。
声明参数就创建了被称为形式参数的变量。该例中,形式参数是int类型的变量n。像printf(10)这样的函数调用会把10赋给n。在该程序中,调用pound(times)就是把times的值(5)赋给n。我们称函数调用传递的值为实际参数,就是常说的实参。所以,函数调用pound(10)把实际参数10传递给函数,然后该函数把10赋给形式参数(变量n)。也就是说,main()中的变量times的值被拷贝给pound()中新的变量n。