C语言函数篇讲解精品PPT课件
合集下载
《c语言函数》PPT课件
![《c语言函数》PPT课件](https://img.taocdn.com/s3/m/a6f2c1f94b73f242326c5f64.png)
其它函数: 可以互相调用函数、自调用函数,不能调用main()。
精选课件ppt
4
2、使用参数 入口参数: 主调函数向被调函数传递的数据------实参、形参。
出口参数: 被调函数向主调函数传递的数据------返回值。
精选课件ppt
5
§7.2 函数的定义 问题: 1、被调函数如何使用主调函数中的数据。 2、假设被调函数有办法使用主调函数中的数据,如何保证 被调函数和主调函数中数据类型的一致。
在函数中允许有多个return语句,但每次调用只能有一个 return 语句被执行, 因此只能返回一个函数值。
精选课件ppt
15
2、函数值(回传值)的类型与被调用函数的类型说明
函数调用语句 被调函数类型 回传值类型
在定义函数时,需要指定函数的类型:
例如:
int max(x,y);
doubel a(c1,c2); 等等
1、被调函数为库函数 对库函数的调用不需要再作说明, 但必须把该函数的头
文件用include命令包含在源文件前部。
精选课件ppt
23
2、用户自定义的函数 一般应该在主调函数中对被调函数的返回值的类型做说明。 对被调函数的说明也有两种格式,
一种为传统格式,其一般格式为: 类型说明符 被调函数名();
9
调用结束:形参临时单元被释放,形参数据失效,实参数 据不变。这就是所谓的单值传递。
函数的形参和实参具有以下特点:
(1)、形参变量只有在被调用时才分配内存单元,在调用 结束时, 即刻释放所分配的内存单元。因此,形参只有在 函数内部有效。 函数调用结束返回主调函数后则不能再使 用该形参变量。
精选课件ppt
}
精选课件ppt
精选课件ppt
4
2、使用参数 入口参数: 主调函数向被调函数传递的数据------实参、形参。
出口参数: 被调函数向主调函数传递的数据------返回值。
精选课件ppt
5
§7.2 函数的定义 问题: 1、被调函数如何使用主调函数中的数据。 2、假设被调函数有办法使用主调函数中的数据,如何保证 被调函数和主调函数中数据类型的一致。
在函数中允许有多个return语句,但每次调用只能有一个 return 语句被执行, 因此只能返回一个函数值。
精选课件ppt
15
2、函数值(回传值)的类型与被调用函数的类型说明
函数调用语句 被调函数类型 回传值类型
在定义函数时,需要指定函数的类型:
例如:
int max(x,y);
doubel a(c1,c2); 等等
1、被调函数为库函数 对库函数的调用不需要再作说明, 但必须把该函数的头
文件用include命令包含在源文件前部。
精选课件ppt
23
2、用户自定义的函数 一般应该在主调函数中对被调函数的返回值的类型做说明。 对被调函数的说明也有两种格式,
一种为传统格式,其一般格式为: 类型说明符 被调函数名();
9
调用结束:形参临时单元被释放,形参数据失效,实参数 据不变。这就是所谓的单值传递。
函数的形参和实参具有以下特点:
(1)、形参变量只有在被调用时才分配内存单元,在调用 结束时, 即刻释放所分配的内存单元。因此,形参只有在 函数内部有效。 函数调用结束返回主调函数后则不能再使 用该形参变量。
精选课件ppt
}
精选课件ppt
C语言函数部分PPT课件
![C语言函数部分PPT课件](https://img.taocdn.com/s3/m/3277d3dfb90d6c85ed3ac650.png)
auto int a int a
第33页/共66页
动态与静态存储变量
void f1()
{ int c;
c=4;
}
void main() { int a,b;
f1
4
a=b=3; f1();
main
3 3
}
第34页/共66页
动态与静态存储变量
二、静态存储变量 1、系统在程序运行期间为其分配固定存储 空间的变量。 2、全局变量是静态存储变量 3、static声明局部变量是静态存储变量
• 掌握C语言的参数传递方法
第22页/共66页
函数与变量的作用域
存在 时间
作用 范围
旅馆房间 家 房车
第23页/共66页
函数与变量的作用域
• 变量的作用域 • 变量的存储类别
第24页/共66页
局部变量和全局变量
一、变量的作用域 一个C程序由多个函数构成,每个函数内部为一个范围。
吉地林区
变量的分类: 局部变量 全局变量
函数概述
什么是函数?
函数是能够完成一定任务的、相对独立的程序段,可以被看作组成 一个程序的逻辑单元。
为什么使用函数?
(1)简化程序设计 (2)便于调试和维护
第1页/共66页
5.1 函数概述
函数的分类(从使用角度) ❖标准函数(库函数) 由系统提供的函数,用户不必自己定义,
可以直接调用。 用户自定义函数 根据函数所要完成的功能自己定义函数 的格式。
第5页/共66页
函数的定义
返回值的类型怎样确定? 返回值的类型应该与函数类型一致。
可以有多条return语句吗? 执行到哪一条return语句,哪一条起作用。 可以没有return语句(或return后的表达式为空)
第33页/共66页
动态与静态存储变量
void f1()
{ int c;
c=4;
}
void main() { int a,b;
f1
4
a=b=3; f1();
main
3 3
}
第34页/共66页
动态与静态存储变量
二、静态存储变量 1、系统在程序运行期间为其分配固定存储 空间的变量。 2、全局变量是静态存储变量 3、static声明局部变量是静态存储变量
• 掌握C语言的参数传递方法
第22页/共66页
函数与变量的作用域
存在 时间
作用 范围
旅馆房间 家 房车
第23页/共66页
函数与变量的作用域
• 变量的作用域 • 变量的存储类别
第24页/共66页
局部变量和全局变量
一、变量的作用域 一个C程序由多个函数构成,每个函数内部为一个范围。
吉地林区
变量的分类: 局部变量 全局变量
函数概述
什么是函数?
函数是能够完成一定任务的、相对独立的程序段,可以被看作组成 一个程序的逻辑单元。
为什么使用函数?
(1)简化程序设计 (2)便于调试和维护
第1页/共66页
5.1 函数概述
函数的分类(从使用角度) ❖标准函数(库函数) 由系统提供的函数,用户不必自己定义,
可以直接调用。 用户自定义函数 根据函数所要完成的功能自己定义函数 的格式。
第5页/共66页
函数的定义
返回值的类型怎样确定? 返回值的类型应该与函数类型一致。
可以有多条return语句吗? 执行到哪一条return语句,哪一条起作用。 可以没有return语句(或return后的表达式为空)
《C语言函数》PPT课件
![《C语言函数》PPT课件](https://img.taocdn.com/s3/m/6d7a7b895ef7ba0d4b733b4a.png)
#include <stdio.h>
int sum(int a, int b)
{
a=a+b;
b=a+b;
函数被调用之前,形参和子函数中的变量
return(a);
不占内存,调用结束返回,形参所占的内存被收回.
}
实参和形参传递的是”值传递”,
void main() {
即单向传递, 只与参数相对位置有关,而与 变量名无关
void printMessage() {
printf(“Hello, world.\n”); printStar(); }
void main() {
printStar(); printMessage(); }
-
12
C语言程序设计
第 6 章 模块化程序设计--函数
函数的调用
一、函数调用一般形式
一般形式: 函数名(实参列表)
3.实参可以是常量、变量或表达式.
z=c(=x>( ya)>?bx) :?ya; :b;
因为传递过来的是具体数值.
retruertnu(rzn)(;c);
4.实参和形参类型必须一致(或可以安全转换).
} void main()
5.C语言中,实参和形参传递的是”按值传递”, {
即单向传递, 只与参数相对位置有关,而与
按生存期局部变量全局变量自动变量静态变量寄存器变量形式参数变量动态存储静态存储自动变量形式参数寄存器变量静态局部变量全局变量按变量的存放位置动态存储区静态存储区自动变量形式参数静态局部变量全局变量寄存器寄存器变量c语言程序设计模块化程序设计函数202137chenli33自定义的函数有两种
模块化程序设计
C语言(函数)ppt课件
![C语言(函数)ppt课件](https://img.taocdn.com/s3/m/e93ba9b0a58da0116c17497b.png)
} main() { int x=6, y=5, z;
如果x, y是字符型,则自动 进行类型转换,结果正确;
z=max(x, y);
如果x, y是短整型,则自动
printf(“%d”, z); }
进b=y行; 类型转换,结果正确;
a=x;
如果x在或参数y传是递时实数,则自动 进行类型转换,有数据丢失,
• 在被调函数内改变形参的值不会改变主调函数中 实参的值。
• 如果函数不需要修改参数的值,就采用这种调用 方式。
– 引用传递
• 主调把实参“自身”传递给被调函数的形参。 • 在被调函数内改变形参的值将改变主调函数中实
函数
参数传递
i{•ntin实mtaxc参(=ai>n=t和b?aa,形:bi;n参t b)的类型确应如;该果相x, y同是或整赋型,值则兼结容果。正 return c;
在函数调用结束后,形参所 占存储单元被释放。
函数
实参
• 实参 int max(int a, int b)
{ int c=a>=b?a:b; return c;
} main() { int a, b, c;
scanf(“%d%d”, &a, &b);
a b c=max( , );
}
实参是函数调用时主调函数 传送给被调函数的形式参数的 实际值。
void main() {
int
int
int
int a, b, c;
printf(“Input three integers: ");
scanf("%d%d%d", &a, &b, &c);
printf("Maximum is: %d\n", maximum(a, b, c));
C语言函数篇讲解ppt课件
![C语言函数篇讲解ppt课件](https://img.taocdn.com/s3/m/ef0d023f3186bceb18e8bbb7.png)
⑤
b函数结束
精选版课件ppt
20
main( ) { int x,y,sum;
x=5; y=6; sum=add(x,y); printf(“%d”,sum); }
add(int a ,int b) { int z;
z=a+fun(b); return z; } 运行结果:
41
精选版课件ppt
汉诺塔问题 ( Hanoi)
数调用任意多次。 4. 从用户角度看,函数分为两种:
① 标准函数:即库函数,由系统提供。
② 用户自定义函数:用户自己定义的。 5. 从函数形式看,函数分为两种:
①无参函数。
②有参函数。
精选版课件ppt
3
6.2 函数定义的一般形式
一 函数定义的一般形式
列表
类型标识符 函数名(类型1 形参1,类型2 形参2,…) { 声明部分 语句 }
二 说明:
1.所有函数在定义时都是互相独立的,即不能嵌套定义; 2.类型标识符:说明了函数返回值的类型,当返回值为
int时,可省略不写; 3.函数名:遵循标识符的命名规则;同一个函数中函数名
必须唯一;
精选版课件ppt
4
4.形参:只能是变量,每个形参前要有类型名;当定义的 函数没有形参时叫作“无参函数” ;
a 10 20 b
alter(a, b);
printf(“a=%d,b=%d\n”,a,b); x 1200 }
210 y
alter(int x, int y) { int t;
t=x; x=y; y=t; }
总结:形参的值发生 改变,并不能 影响实参。
精选版课件ppt
9
三 函数的返回值
b函数结束
精选版课件ppt
20
main( ) { int x,y,sum;
x=5; y=6; sum=add(x,y); printf(“%d”,sum); }
add(int a ,int b) { int z;
z=a+fun(b); return z; } 运行结果:
41
精选版课件ppt
汉诺塔问题 ( Hanoi)
数调用任意多次。 4. 从用户角度看,函数分为两种:
① 标准函数:即库函数,由系统提供。
② 用户自定义函数:用户自己定义的。 5. 从函数形式看,函数分为两种:
①无参函数。
②有参函数。
精选版课件ppt
3
6.2 函数定义的一般形式
一 函数定义的一般形式
列表
类型标识符 函数名(类型1 形参1,类型2 形参2,…) { 声明部分 语句 }
二 说明:
1.所有函数在定义时都是互相独立的,即不能嵌套定义; 2.类型标识符:说明了函数返回值的类型,当返回值为
int时,可省略不写; 3.函数名:遵循标识符的命名规则;同一个函数中函数名
必须唯一;
精选版课件ppt
4
4.形参:只能是变量,每个形参前要有类型名;当定义的 函数没有形参时叫作“无参函数” ;
a 10 20 b
alter(a, b);
printf(“a=%d,b=%d\n”,a,b); x 1200 }
210 y
alter(int x, int y) { int t;
t=x; x=y; y=t; }
总结:形参的值发生 改变,并不能 影响实参。
精选版课件ppt
9
三 函数的返回值
C语言( 函数) ppt课件
![C语言( 函数) ppt课件](https://img.taocdn.com/s3/m/2c8e91f208a1284ac850438b.png)
思考:n=1234,如何逆置? 提示:考虑((4*10+3)*10+2)*10+1=4321。
11 ppt课件
#include<stdio.h> //构成逆序数的函数 int reverseNum(int x) // x 是正整数 {
int r=0; while(x>0) {
r = r*10 + x%10; x = x/10; } return r; }
#include<stdio.h>
#include<math.h>
void process(double array[ ], int n)//数组名作函数形参
{
int i;
for(i=0; i<n; i++) {
if(array[i]>=36) array[i]=sqrt( array[i] )*10;
printf("%d", a[i]);//数组元素作为函数实参
}
return 0;
p}pt课件
19
例5:有一个一维数组a,内放10个整数,分别输出这十 个数的平方。
#include<stdio.h> int square(int n) {
return n*n; } int main() {
int a[10], i, j; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%5d",square(a[i])); return 0; }
int isSymmetric(int n) //n为回文数返回1,否返回0 {
11 ppt课件
#include<stdio.h> //构成逆序数的函数 int reverseNum(int x) // x 是正整数 {
int r=0; while(x>0) {
r = r*10 + x%10; x = x/10; } return r; }
#include<stdio.h>
#include<math.h>
void process(double array[ ], int n)//数组名作函数形参
{
int i;
for(i=0; i<n; i++) {
if(array[i]>=36) array[i]=sqrt( array[i] )*10;
printf("%d", a[i]);//数组元素作为函数实参
}
return 0;
p}pt课件
19
例5:有一个一维数组a,内放10个整数,分别输出这十 个数的平方。
#include<stdio.h> int square(int n) {
return n*n; } int main() {
int a[10], i, j; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%5d",square(a[i])); return 0; }
int isSymmetric(int n) //n为回文数返回1,否返回0 {
C语言完整函数教程PPT课件
![C语言完整函数教程PPT课件](https://img.taocdn.com/s3/m/45d13e39172ded630b1cb6ec.png)
uC标准库提供了丰富的函数集,能够完成常用的数学 计算、字符串操作、输入/输出等有用操作,程序员可 以直接使用、从而减少工作量;
12
5.1 子程序设计 5.2 函数
5.2.1 函数 5.2.2 函数的定义 5.2.3 函数的调用 5.2.4 函数原型 5.3 头文件 5.4 函数应用举例 5.5 变量作用域 5.6 变量的存储类别 5.7 内部函数和外部函数
printf("%d\t",i);
【程序演示】
16
5.2.2 函数的定义
/*函数功能:判断n是否是闰年 参数: year :要判断的年份 返回值:若是闰年,返回1,否则返回0*/
int isLeapYear(int year) {
if ( (year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0) return 1;
else return 0;
}
17
5.2.2 函数的定义
常见的程序设计错误: (1)把同一种类型的参数声明为类似于形式
float x,y,而不是float x,float y; (2)在函数内部把函数参数再次定义成局部变
量是一种语法错误;如: int sum(int x, int y) {
int x, y;//错误! return (x+y); }
18
5.2.2 函数的定义
(3)不能在一个C函数的内部定义另一个函数;
main()
{
…
int sum(int x,int y)
{ return(x+y);
不允许!
}
…
}
19
5.2.2 函数的定义
12
5.1 子程序设计 5.2 函数
5.2.1 函数 5.2.2 函数的定义 5.2.3 函数的调用 5.2.4 函数原型 5.3 头文件 5.4 函数应用举例 5.5 变量作用域 5.6 变量的存储类别 5.7 内部函数和外部函数
printf("%d\t",i);
【程序演示】
16
5.2.2 函数的定义
/*函数功能:判断n是否是闰年 参数: year :要判断的年份 返回值:若是闰年,返回1,否则返回0*/
int isLeapYear(int year) {
if ( (year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0) return 1;
else return 0;
}
17
5.2.2 函数的定义
常见的程序设计错误: (1)把同一种类型的参数声明为类似于形式
float x,y,而不是float x,float y; (2)在函数内部把函数参数再次定义成局部变
量是一种语法错误;如: int sum(int x, int y) {
int x, y;//错误! return (x+y); }
18
5.2.2 函数的定义
(3)不能在一个C函数的内部定义另一个函数;
main()
{
…
int sum(int x,int y)
{ return(x+y);
不允许!
}
…
}
19
5.2.2 函数的定义
《c语言函数》PPT课件
![《c语言函数》PPT课件](https://img.taocdn.com/s3/m/85ee262a6bec0975f565e269.png)
printf("*"); printf("*"); printf("*"); printf("*"); printf("*");
函数——完成某一特定特定功能的模块,是程序设计的
基本单位。
“一个程序应该是轻灵自由的,它的子过程就象串在一
根线上的珍珠。” Geoffrey James的《编程之道》
大
函数声明 函数定义 函数调用
“声明”(declaration)——作用是把函数名、函数参数的个数和参数
的类型等信息通知编译系统,以便在遇到函数调用时,编译系统能够正确 识别并检查调用是否合法。
void print(int n);
在函数声明中也可以不写形参名,而只写形参的类型。
编译系统只检查参数个数和参数类型,而不检查参数名。 函数声明——函数原型(function prototype)
z=x>y?x:y; return z; }
(#4)in不cl返ud回e 函<数st值di的o.函h>数,可以明确定义为“空类型”,类型说明符为 “voiidd”main()
{
void printstar(); //对printstar函数进行声明
明 printsvtoaird(3)print_message(); //对print_messge函数进行声
函数声明 函数定义 函数调用
“定义”(defination)——是指对函数功能的确立,
包括指定函数名、函数值类型、形参名称及其类型、函数
体等。
它是一个完整的、独立的函数单位。
v{oid prifinontrt((iii;=n1t;in<)=n;i++形能) 参省pr名略in不tf("*");
c语言函数教案 ppt课件
![c语言函数教案 ppt课件](https://img.taocdn.com/s3/m/a4c4fbab02768e9950e738a4.png)
p1
a
&a
5
调swap:
p2
b
&b
9
p1
a
scanf("%d,%d",&a,&b);
&a
9
printf(“a=%d,b=%d\n”,a,b); 交换:
printf(“s:\n”);
p2
b
s);
&b
5
printf(”a=%d,b=%d\n",a,b);
}
返回:
a 9
b 5
2021/3/26
c语言函数教案 ppt课件
c=max(a,b); (main 函数) c=max(a,b);
max(int x, int y) (max 函数) printf("Max is %d",c);
{ int z;
}
z=x>y?x:y; return(z); }
max(int x, int y) { int z;
z=x>y?x:y;
你现在所处的位置在:首页C语言教学幻灯片版第六章 函数
c语 言嵌套函调数用教案
C规定:函数定义不可嵌套,但可以嵌套调用函数
main( ) 调用函数a 结束
a函数
调用函数bb函数 Nhomakorabea2021/3/26
c语言函数教案 ppt课件
18 18
你现在所处的位置在:首页C语言教学幻灯片版第六章 函数
c语言函数教案
调f2
调f1
C编译系统对递归函数的自调用次数没有限制 每调用函数一次,在内存堆栈区分配空间,用于存放函数变量、
返回值等信息,所以递归次数过多,可能引起堆栈溢出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
int max(int x, int y)
{ return (x>y?x;y); }
值。在调用时,将实参的值赋给形参变量。
3. 实参与形参的类型应相同或兼容。如果类型不一
致,则将实参转换为和形参类型一致时再赋值。
例如:main( ) { int c; c=max(3.5,5+2);
printf(“Max is %d”,c);}
max(int x, int y)
{ int z;
z=x>y?x:y; return(z); }
4. 实参变量对形参变量是单向的“值传递” 。即 只能实参传给形参,不能由形参传回来给实参。
在内存中,实参单元与形参单元是不同的单元。
main( ) { int a=10, b=20;
a 10 20 b
alter(a, b);
printf(“a=%d,b=%d\n”,a,b); x 1200 }
210 y
1.所有函数在定义时都是互相独立的,即不能嵌套定义; 2.类型标识符:说明了函数返回值的类型,当返回值为
int时,可省略不写; 3.函数名:遵循标识符的命名规则;同一个函数中函数名
必须唯一;
4.形参:只能是变量,每个形参前要有类型名;当定义的 函数没有形参时叫作“无参函数” ;
形式:类型标识符 函数名() { 声明部分 语句 }
max(int x, int y) { int z;
z=x>y?x:y; return(z);}
二 关于形参与实参的说明:
1. 未出现函数调用时,形参变量不占内存中的存储
单元。在发生函数调用时,形参才被分配内存单
元。调用结束后,形参所占的内存单元被释放。
2. 实参可以是常量、变量或表达式,必须有确定的
alter(int x, int y) { int t;
t=x; x=y; y=t; }
总结:形参的值发生 改变,并不能 影响实参。
三 函数的返回值
1. 函数通过retueturn语句。 形式:return (表达式);
return (变 量); 括号可省略 return (常 量); 例如:return z;或return 0;或return (a+b); 2. 定义函数时,函数的返回值类型应与return语句
4. 从用户角度看,函数分为两种:
① 标准函数:即库函数,由系统提供。
② 用户自定义函数:用户自己定义的。
5. 从函数形式看,函数分为两种:
①无参函数。
②有参函数。
6.2 函数定义的一般形式
一 函数定义的一般形式
列表
类型标识符 函数名(类型1 形参1,类型2 形参2,…) { 声明部分 语句 }
二 说明:
5.函数体:当声明部分和语句都没有时,称为“空函数”, 空函数没有任何实际作用;
形式:类型说明符 函数名( ) {}
例如:dummy( ) {}
例如:
返回值 类型
函数名
形参1 形参2
int max ( int x, int y )
{ int z;
声明部分
z=x>y?x:y; return(z); }
这样,系统就保证使函数不带回任何值。
6.4 函数的调用
一 函数调用的一般形式
有参函数的
函数名(实参表列); 调用形式 或 函数名(); 无参函数的
调用形式
说明:1.各实参间用逗号格开。 2.实参与形参的个数应相同,类型应一致。 3.被调用函数必须是已经存在的函数。
m二ai函n()数调用的方式
{按i出nt现a的=位10置,b分=2,0,有c=如30下,d三,e种; 函数调用方式: 1.fu函n数( )语; 句。
说明:
1. 一个源程序文件由一个或多个函数组成,但必须有且仅 有一个main函数。
2. C程序的执行从main函数开始,调用其他函数后,流程 回到main函数,main函数结束整个函数的运行。
3. 由主函数调用其他函数,其他函数也可互相调用,但 不能调用main函数。同一个函数可以被一个或多个函 数调用任意多次。
语句(执 行部分)
函数体
6.3 函数参数和函数的值
一 形式参数和实际参数
实际参数: 调用函数时,函数名后面括弧中的参数称为
“实际参数”(简称实参)。
形式参数:定义函数时,函数名后面括弧中的参数称为
“形式参数”(简称形参)。 例如:main( )
{ int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“Max is %d”,c);}
d函=m数a不x(带a,回b)值; ,只完成一定的操作。
2.p函rin数tf表(“达m式ax。=%d\n”, d);
e要=m求a函x(数a,带b)回+c确; 定值,参加表达式运算。
3.p函rin数tf参(“数m。ax=%d\n”, e);
p要rin求tf函(“数m带ax回=确%d定\值n”,,m作a为x(一a,个c))参; 数。
教学目标:掌握函数的定义; 理解并运用函数的 调用; 理解函数的声明。
教学重点:函数的定义; 函数的调用。 教学难点:函数的定义。 教学时数:4学时
6.1 概述
例: printstar( )
{ printf(“******************\n”);} main( )
{ printstar( ); printmessage( ); printstar( );} printmessage( ) { printf(“ How do you do!\n”);} 结果: ****************** How do you do! ******************
中的表达式类型一致。如果不一致,则以函数
类型为准。
3. 若函数中没有return语句,函数也会带回一个不确定
的值,为了明确表示“不带回值”,用关键字“void” 定义“无类型” (或称“空类型”)。
例:void printstar( ) { printf(“******************\n”); } main( ) { printstar( ); printmessage( ); printstar( );} void printmessage( ) { printf(“ How do you do!\n”); }