admin 管理员组

文章数量: 887239


2024年1月6日发(作者:华夏源码网)

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的实参。


本文标签: 指针 字符 函数 变量 字符串