当前位置:首页 > 学习英语 > 专业英语 > 计算机英语>正文

c语言puts和gets的用法

【计算机英语】 2016-03-20本文已影响
在语言使用过程中我们常常用到库函数,这些库函数是又人事先编译好的,那么它们内部的代码究竟如何?我们可以根据各函数的说明及其功能编译出同样的函数。下面我们来看看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的实参。
网友评论

Copyright © 2019 All Rights Reserved

错不了学习网 版权所有

回到顶部