gets()函數和puts()函數的淵源關係

對於字符串的處理函數gets()和puts()的結束標誌有必要討論一下

gets()函數是從標準輸入設備讀取字符串直到換行符結束,但是換行符會被丟棄,並且在末尾加上一個字符串結束標誌 

'\0' ,而與其相對應的puts()函數是將從標準輸入設備輸入的字符串打印到屏幕上,但是在打印的時候它會做一件事情就是將剛剛輸入時所得到 '\0'自動轉換成換行符,就是在輸出字符串後自動換行。
一個簡單的應用:
#include<stdio.h>
#include<stdlib.h>
int main()
{
 int i = 0,j = 0;
 char arr[50][10] = {0};    //定義一個二維數組目的是對它進行初始化
 for (i = 0; i < 5; i++)      //如果這個數組很長,但是操作者想提前結束是該怎麼辦?
 {
  gets(arr[i]);              //使用gets()接收字符  
  if (strcmp(arr[i]," ") == 0)     //如果想停止就輸入空格便停止
  {
   break;
  }
 }
 for (j = 0; j < i; j++)       //輸出想得到的字符
 {
  puts(arr[j]);
 }
 system("pause");
 return 0;
}  

遇到很長的數組在循環中想提前結束的話這也是一種辦法!
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章