不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦 > 學習英語 > 專業(yè)英語 > 計算機英語 > c語言puts和gets的用法

c語言puts和gets的用法

時間: 長思709 分享

c語言puts和gets的用法

  在語言使用過程中我們常常用到庫函數(shù),這些庫函數(shù)是又人事先編譯好的,那么它們內(nèi)部的代碼究竟如何?我們可以根據(jù)各函數(shù)的說明及其功能編譯出同樣的函數(shù)。下面我們來看看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函數(shù)的說明部分char *mygets(char s[])可以看到,該函數(shù)以字符指針變量為形參,最后返回一個字符指針變量。再看看函數(shù)體部分:int i; for(i=0;s[i]!='\n';i++)  s[i]=getchar();for循環(huán)中將getchar()輸入的字符存放到動態(tài)數(shù)據(jù)s[ ]中,循環(huán)條件是:s[i]!='\n' ,即是遇到回車時退出循環(huán)。
  myputs函數(shù)以字符指針變量為形參返回一個整形數(shù)。for(i=0;*str!='\0';i++)的意思是:從字符串的第一個字符開始循環(huán),直到這個字符串結(jié)束就退出for循環(huán),'\0' 是字符串的結(jié)束符,任何字符串之后都會自動加上'\0'。for循環(huán)循環(huán)體通過指針變量的移動將指針所指向的字符串逐個輸出,putchar(*str)是輸出指定字符,str++是移動指針。
  主函數(shù)中以新定義的指針變量p為mygets函數(shù)的實參,然后mygets函數(shù)的返回值作為myputs的實參。
512973