一、 从函数返回
从函数返回就是返回语句的第一个主要用途。在程序中,有两种方法可以终止函数的执行,并返回到调用函数的位置。第一种方法是在函数体中,从第一句一直执行到最后一句,当所有语句都执行完,程序遇到结束符号”}”后返回。
例:从函数返回
#include "stdio.h" int fun(); /*声明函数*/ void main() { int a; printf("this step is before the function ");/*输出提示信息*/ a=fun(); printf("a=%d ",a); printf("this step is end of the function ");/*输出提示信息*/ } int fun() { printf("this step is in the function ");/*输出提示信息*/ return 0; /*返回值*/ }
- 在代码中,首先声明使用的函数,在主函数中首先输出提示信息来表示此时程序执行的位置在main函数中
- 调用function函数,输出提示,并返回值0
- 自定义函数执行完成后返回主函数,继续向下执行,并显示提示信息,直到主函数执行完毕。
二、 返回值函数的定义
返回值函数的定义格式如下:
返回值类型 函数名(形式参数列表)
{
语句;
return 表达式;
}
三、 函数的返回值
函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。
对函数的值(或称函数返回值)有以下一些说明:
函数的值只能通过return语句返回主调函数。
return 语句的一般形式为:
return 表达式;
或者为:
return (表达式);
四、 返回值函数案例
ACM例题:输入一个数,传递给子函数判断,奇数返回1,偶数返回0,主函数根据返回的值判断输出奇数或偶数。
#include "stdio.h" int fun(int n); void main()//传参调用 { //定义变量 int n; //传参调用 printf("请输入一个数"); scanf("%d",&n); //传参调用返回 if( fun(n)==1) { printf("偶数"); } else { printf("奇数"); } } int fun(int n) //判断奇偶 { if(n%2==0) return 1; else return 0 }
案例:
ACM试输入5个数,利用两个数比较返回最大值的返回值函数,解决问题,参考函数如下
int fun(int a,int b)
{
if(a>b) return a;
else return b;
}
五子棋升级版
#include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" #include "windows.h" //控制dos界面 #define MAXIMUS 15 //定义棋盘大小 int p[MAXIMUS][MAXIMUS];//存储对局信息 char buff[MAXIMUS * 2 + 1][MAXIMUS * 4 + 3]; //输出缓冲器 int Cx, Cy; //当前光标位置 int Now;//当前走子的玩家,1代表黑,2代表白 int wl, wp; //当前写入缓冲器的列数和行数位置 char* showText;//在棋盘中央显示的文字信息 int count;//回合数 char* Copy ( char* strDest, const char* strSrc ) //修改过的字符串复制函数,会忽略末端的 { char* strDestCopy = strDest; while ( *strSrc != '