6.3 函数实例程序

通过前面关于C语言函数基础知识的学习,读者应该掌握了相关的知识点和具体的程序编写方法,可以根据前面所学习到的知识点进行实例程序的编写。例如,在实例程序中,将自定义两个函数,分别用于实现获取用户输入的数据和将数据输出的功能。具体的代码如下:

void set(char *p); //声明自定义函数
void get();
char ch1[15]; //定义全局变量
#include<stdio.h> //包含标准输入/输出头文件
#include<string.h> //包含于字符串处理相关的头文件
main() //主函数
{
    char ch[15]; //定义字符数组变量
    printf("请用户输入学生姓名:\n"); //输出提示语
    scanf("%s",&ch); //获取用户输入的数据
    set(ch); //设置字符串
    printf("请用户输入学生住址:\n"); //输出提示语
    scanf("%s",&ch); //获取用户输入的数据
    set(ch); //设置字符串
    return 0; //程序正常返回
}
void set(char *p) //实现字符串的设置功能
{
    printf("正在设置数据:\n"); //输出提示语
    for(int i=0;i<=15;i++) //使用for循环
    {
        strcpy(&ch1[i],p); //循环复制字符数据
        p++; //使字符指针自加,以便循环移动指针
    }
    printf("字符串数据设置完毕!\n"); //输出提示语
    get(); //输出字符串
}
void get() //实现字符串的输出功能
{
    printf("输出已经设置成功的数据:\n"); //输出提示语
    printf("%s\n",ch1); //输出字符串数据
}

图6.8 程序运行结果

在程序中,用户定义了set()和get()两个函数,分别用于实现信息设置和信息输出功能。在信息设置函数“set()”的功能实现中,用户使用了一个for循环对字符串数据进行复制操作。其中,代码段“p++;”的功能是将指针向后移动。当数据设置完成以后,直接调用了信息获取函数“get()”对已经设置的信息输出显示。其运行结果如图6.8所示。

注意 由于程序中需要使用到与字符串数据相关的函数,所以应当在实例程序中,包含头文件“string.h”。否则,程序将不能够正确地调用这些系统函数。

在该实例程序中,不仅实现了函数的嵌套调用和参数的传递,还介绍了字符串数据的输入输出方法等。通过本节的学习,读者对前面所学知识点进行了再次复习,应该能够熟练地使用函数的调用方法实现常用功能。