c语言puts和gets的用法
时间:
长思709由 分享
c语言puts和gets的用法
在语言使用过程中我们常常用到库函数,这些库函数是又人事先编译好的,那么它们内部的代码究竟如何?我们可以根据各函数的说明及其功能编译出同样的函数。下面我们来看看c语言puts和gets的用法分别是什么。
#include "Stdio.h"
#include "Conio.h"
char *mygets(char s[])
{ int i;
for(i=0;s[i]!='\n';i++)
s[i]=getchar();
return s;
}
int myputs(char *str)
{
int i;
for(i=0;*str!='\0';i++)
{ putchar(*str);
str++;
}
return;
}
main()
{
char *p;
myputs(gets(p));
getch();
}
从mygets函数的说明部分char *mygets(char s[])可以看到,该函数以字符指针变量为形参,最后返回一个字符指针变量。再看看函数体部分:int i; for(i=0;s[i]!='\n';i++) s[i]=getchar();for循环中将getchar()输入的字符存放到动态数据s[ ]中,循环条件是:s[i]!='\n' ,即是遇到回车时退出循环。
myputs函数以字符指针变量为形参返回一个整形数。for(i=0;*str!='\0';i++)的意思是:从字符串的第一个字符开始循环,直到这个字符串结束就退出for循环,'\0' 是字符串的结束符,任何字符串之后都会自动加上'\0'。for循环循环体通过指针变量的移动将指针所指向的字符串逐个输出,putchar(*str)是输出指定字符,str++是移动指针。
主函数中以新定义的指针变量p为mygets函数的实参,然后mygets函数的返回值作为myputs的实参。