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小时内删除。
c语言crc校验函数
« 上一篇
c语言自定义函数的调用
下一篇 »
发表评论