最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在輸入輸出字符串時(shí)scanf(),printf()和gets(),puts()的區(qū)別淺談

 更新時(shí)間:2013年02月28日 16:38:35   作者:  
在輸入輸出字符串時(shí)scanf(),printf()和gets(),puts()的區(qū)別淺談,需要的朋友可以參考一下

1.scanf("%s",str)和gets(str)

scanf("%s",str)和gets(str)均可用于輸入字符串到字符數(shù)組變量str,但scanf("%s",str)只讀到輸入字符的空格或回車處,而gets(str)讀到回車處結(jié)束,所以當(dāng)句子中單詞由空格分開(kāi)時(shí)要用后者來(lái)輸入,如下圖所示:

需要強(qiáng)調(diào)一點(diǎn),scanf("%s",str)在遇到'\n'(回車)或' '(空格)時(shí)輸入結(jié)束,但'\n'(回車)或' '(空格)停留在出入緩沖區(qū),如處理不慎會(huì)影響下面的輸入;gets(str)遇到'\n'(回車)時(shí)輸入結(jié)束,但'\n'(回車)已被替換為'\0',存儲(chǔ)于字符串中,輸入緩沖中沒(méi)有遺留的'\n'(回車),不會(huì)影響后續(xù)的輸入。測(cè)試程序的代碼為:

復(fù)制代碼 代碼如下:

View Code

#include<iostream>
#include<stdio.h>

using namespace std;

int main()
{
  //freopen("http://home//jack//jack.txt","r",stdin);
  char str[80];
  char ch;
  cout<<"1、請(qǐng)輸入一個(gè)沒(méi)有空格的字符串:"<<endl;
  scanf("%s",str);
  cout<<"用scanf(\"%s\",str)輸入的字符串為:"<<str<<endl;
  cout<<"再輸入一次作為對(duì)比:"<<endl;
  while((ch=getchar())!='\n'&&ch!=EOF);
  gets(str);
  cout<<"用gets(str)輸入的字符串為:"<<str<<endl;
  cout<<"2、請(qǐng)輸入一個(gè)有空格的字符串:"<<endl;
  scanf("%s",str);
  cout<<"用scanf(\"%s\",str)輸入的字符串為:"<<str<<endl;
  cout<<"再輸入一次作為對(duì)比:"<<endl;
  while((ch=getchar())!='\n'&&ch!=EOF);
  gets(str);
  cout<<"用gets(str)輸入的字符串為:"<<str<<endl;
  return 0;
}

其中while((ch=getchar())!='\n'&&ch!=EOF);是處理輸入緩存中的遺留的辦法;fflush(stdin)方法對(duì)某些編譯器不適用,不是標(biāo)準(zhǔn)C支持的函數(shù)。

2、printf(“%s”,str)和puts(str)

先看如下代碼:

復(fù)制代碼 代碼如下:

View Code

#include<iostream>
#include<stdio.h>

using namespace std;

int main()
{
  //freopen("http://home//jack//jack.txt","r",stdin);
  char str1[80]="hello";
  cout<<"用printf(\"%s\",str1)輸出的字符串為:";
  printf("%s",str1);
  cout<<"用puts(str1)輸出的字符串為: ";
  puts(str1);
  char str2[80]="hello world";
  cout<<"用printf(\"%s\",str2)輸出的字符串為: ";
  printf("%s",str2);
  cout<<"用puts(str2)輸出的字符串為: ";
  puts(str2);
  return 0;
}

從運(yùn)行結(jié)果可以看出,printf(“%s”,str)和puts(str)均是輸出到'\0'結(jié)束,遇到空格不停,但puts(str)會(huì)在結(jié)尾輸出'\n',printf(“%s”,str)不會(huì)換行。printf(“%s\n”,str)可以替換puts(str)。

完。

相關(guān)文章

  • C語(yǔ)言打印正方形實(shí)例代碼

    C語(yǔ)言打印正方形實(shí)例代碼

    大家好,本篇文章主要講的是C語(yǔ)言打印正方形實(shí)例代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 使用鉤子如何鎖定鍵盤的方法分享

    使用鉤子如何鎖定鍵盤的方法分享

    鎖鍵盤一般用鉤子實(shí)現(xiàn),所以難度稍大,不過(guò)下面這個(gè)程序當(dāng)簡(jiǎn)單,而且連鉤子所需要DLL也省了
    2014-01-01
  • C語(yǔ)言 strcpy和memcpy區(qū)別詳細(xì)介紹

    C語(yǔ)言 strcpy和memcpy區(qū)別詳細(xì)介紹

    這篇文章主要介紹了C語(yǔ)言 strcpy和memcpy區(qū)別詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C語(yǔ)言 while for do while循環(huán)體詳解用法

    C語(yǔ)言 while for do while循環(huán)體詳解用法

    在不少實(shí)際問(wèn)題中有許多具有規(guī)律性的重復(fù)操作,因此在程序中就需要重復(fù)執(zhí)行某些語(yǔ)句。一組被重復(fù)執(zhí)行的語(yǔ)句稱之為循環(huán)體,能否繼續(xù)重復(fù),決定循環(huán)的終止條件
    2021-10-10
  • C++通過(guò)自定義函數(shù)找出一個(gè)整數(shù)數(shù)組中第二大數(shù)的方法

    C++通過(guò)自定義函數(shù)找出一個(gè)整數(shù)數(shù)組中第二大數(shù)的方法

    這篇文章主要介紹了C++通過(guò)自定義函數(shù)找出一個(gè)整數(shù)數(shù)組中第二大數(shù)的方法,涉及C++針對(duì)數(shù)組的遍歷操作相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Qt實(shí)現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼

    Qt實(shí)現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼

    本文主要介紹了Qt實(shí)現(xiàn)網(wǎng)絡(luò)聊天室,實(shí)現(xiàn)一個(gè)在線聊天室, 使用tcp對(duì)客戶端和服務(wù)器端進(jìn)行通訊。具有一定的參考價(jià)值,具有一定的參考價(jià)值,
    2021-06-06
  • C++使用適配器模式模擬實(shí)現(xiàn)棧和隊(duì)列

    C++使用適配器模式模擬實(shí)現(xiàn)棧和隊(duì)列

    不論是C語(yǔ)言還是C++,我們都用其對(duì)應(yīng)的傳統(tǒng)寫法對(duì)棧和隊(duì)列進(jìn)行了模擬實(shí)現(xiàn),現(xiàn)在我們要用新的方法模擬實(shí)現(xiàn)棧和隊(duì)列,這個(gè)新方法就是適配器模式,文章通過(guò)代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • C++并查集親戚(Relations)算法實(shí)例

    C++并查集親戚(Relations)算法實(shí)例

    這篇文章主要介紹了C++并查集親戚(Relations)算法,實(shí)例分析了并查集親戚算法的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • c++語(yǔ)言中虛函數(shù)實(shí)現(xiàn)多態(tài)的原理詳解

    c++語(yǔ)言中虛函數(shù)實(shí)現(xiàn)多態(tài)的原理詳解

    這篇文章主要給大家介紹了關(guān)于c++語(yǔ)言中虛函數(shù)實(shí)現(xiàn)多態(tài)的原理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c++語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • c語(yǔ)言函數(shù)棧幀的創(chuàng)建和銷毀過(guò)程詳解

    c語(yǔ)言函數(shù)棧幀的創(chuàng)建和銷毀過(guò)程詳解

    我們知道c語(yǔ)言中函數(shù)都是被調(diào)用的,main函數(shù)里面能調(diào)用其他函數(shù),其實(shí)main函數(shù)也是被別的函數(shù)調(diào)用的,下面通過(guò)本文給大家分享c語(yǔ)言函數(shù)棧幀的創(chuàng)建和銷毀過(guò)程,一起看看吧
    2021-08-08

最新評(píng)論

武平县| 新龙县| 江油市| 沿河| 林芝县| 信阳市| 东阳市| 文成县| 九江县| 霍邱县| 贵德县| 许昌市| 通化市| 万州区| 芮城县| 乐东| 漯河市| 金川县| 台江县| 小金县| 茌平县| 宁阳县| 廉江市| 辽阳县| 达拉特旗| 莒南县| 临汾市| 九龙城区| 宁津县| 沙河市| 五莲县| 巴彦县| 平谷区| 临桂县| 宜兴市| 金门县| 舟曲县| 蓬安县| 平邑县| 工布江达县| 东台市|