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;自定义函数怎么用c语言
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
转载请注明出处

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论