admin管理员组

文章数量:1794759

C语言中自定义函数和函数的使用方法

C语言中自定义函数和函数的使用方法

C程序语言中,标准函数库函数有限,常常需要自定义一些自己适用的函数,来配合main函数完成程序的一系列动作 下边写一个简单的类似grep的函数来演示自定义函数的方法和函数的使用方法 例子: [root@CWG hc]# cat gep gep    gep.c  [root@CWG hc]# cat gep.c #include <stdio.h> #define MAXLINE 1000   //定义一个最大行 int glefc(char line[], int max);   //声明一个glefc函数,此函数可以接受两个值,一个是char类型,一个是int类型 int strindex(char source[], char searchfor[]); //声明一个strindex函数,可以接受两个值,都是char类型 char pattern[] = "culd";      //定义一个全局char变量,这个作为被find的字符串 main()            //主main函数 {     char line[MAXLINE];             int found = 0;             while (glefc(line, MAXLINE) > 0)                   //用while循环,调用glefc函数,此函数接受两个值,第一个line char类型,第二个定义的常量MAXLINE 为int类型   如果getchar函数获取的这个字符串不为空,则返回字符串长度的值,所以大于0         if (strindex(line, pattern) >= 0) {           //如果line char的长度大于0,则用strindex函数进行查找line字符串中包不包含全局变量pattern的字符串,如果包含,则返回pattern字符串在line字符串中的位置,如果不包含,则返回-1             fprintf(stdout, "%s", line);          //如果以上都成立,则打印此行             found++;         }     return found; } int glefc(char s[], int lim)    //声明glefc函数,这个函数返回一个int类型的值,接受两个值,第一char类型,第二个是int类型 {     int c, i = 0;     while (--lim > 0 && (c = getchar()) != EOF && c != '\\n')         s[i++] = c;     if (c == '\\n')         s[i++] = c;     s[i] = '\\0';     return i; } int strindex(char s[], char t[])            //strindex函数返回一个int类型的值 接受两个char类型的值 {                   //char s和char t只在当前函数中使用,别的函数中也可再次声明名字叫t或者s的变量     int i, j, k;     for (i = 0; s[i] != '\\0'; i++) {         for (j = i, k = 0; t[k] != '\\0' && s[j] == t[k]; j++,k++)             ;     if (k > 0 && t[k] == '\\0')         return i;     }     return -1; } [root@CWG hc]# ./gep         //执行结果如下 culd culd ddddddddddculdddddddddddd ddddddddddculdddddddddddd bbbbbbbb eeeeeeee 这个就是返回int类型值的函数,和函数的基本调用方法 ################ 迷途小运维学习C程序语言笔记 作者:john 转载请注明出处

本文标签: 函数自定义使用方法语言