admin管理员组文章数量:1794759
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 转载请注明出处
版权声明:本文标题:C语言中自定义函数和函数的使用方法 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686491029a73451.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论