学习啦 > 学习英语 > 专业英语 > 计算机英语 > c语言puts和gets的用法

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