欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決C語(yǔ)言輸入單個(gè)字符屏蔽回車(chē)符的問(wèn)題

 更新時(shí)間:2020年12月10日 11:32:09   作者:milanlover_xa  
這篇文章主要介紹了解決C語(yǔ)言輸入單個(gè)字符屏蔽回車(chē)符的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

C語(yǔ)言的scanf()函數(shù)在接收輸入單個(gè)字符時(shí)會(huì)把上一次輸入的回車(chē)符號(hào)當(dāng)做這次輸入的字符,造成無(wú)法正確的輸入字符數(shù)據(jù)。這恐怕是初學(xué)C的童鞋門(mén)遇到的最頭疼的問(wèn)題了。

今天給大家提供四種解決方法供借鑒。

1、在scanf()中使用'\n'屏蔽回車(chē)符號(hào)。

scanf("%d\n",&n); //使用'\n'過(guò)濾回車(chē)

scanf("%c",&c);

2、在scanf()格式串最前面添加空格,屏蔽回車(chē)字符

scanf("%d",&n);

scanf(" %c",&c); //%c前面加空格,過(guò)濾回車(chē)

3、在接收字符前,使用getchar()來(lái)讀取一次回車(chē)符號(hào)

scanf("%d",&n);
getchar(); //專(zhuān)門(mén)用來(lái)讀取上次輸入的回車(chē)符號(hào)
scanf("%c",&c);

4、在接收字符前,使用fflush()清空輸入流中緩沖區(qū)中的內(nèi)容

scanf("%d",&n)
fflush(stdin); //清空輸入流緩沖區(qū)的字符,注意必須引入#include <stdlib.h>頭文件
scanf("%c",&c);

好了,以后再也不用為這個(gè)問(wèn)題煩惱了.....

補(bǔ)充知識(shí):C語(yǔ)言中使用scanf()對(duì)字符(串)進(jìn)行輸入的問(wèn)題

1. 輸入字符串

#include<stdio.h>
int main() {
 int a;
 char s1[100];
 char s2[100];
 scanf("%d", &a);
 scanf("%s", s1);
 scanf("%s", s2);
 printf("a = %d\n", a);
 printf("s1 = %s\n", s1);
 printf("s2 = %s\n", s2);
 return 0;
}

輸入

2019
hello
world

輸出

a = 2019
s1 = hello
s2 = world

沒(méi)有問(wèn)題,因?yàn)閟canf("%s")遇到換行符會(huì)自動(dòng)跳過(guò)

2.輸入字符

#include<stdio.h>
int main() {
  int a;
  char s1;
  char s2;
  scanf("%d", &a);
  scanf("%c", &s1);
  scanf("%c", &s2);
  printf("a = %d\n", a);
  printf("s1 = %c\n", s1);
  printf("s2 = %c\n", s2);
  return 0;
}

輸入

2019
A
B

輸出

a = 2019
s1 =
s2 = A

可以看到s1將2019后面的回車(chē)符'\n'吸收了,原因是scanf("%c")在讀取單個(gè)字符時(shí),空格和回車(chē)都被視為單個(gè)字符。

解決辦法

使用getchar()吸收掉多余的回車(chē)

#include<stdio.h>
int main() {
 int a;
 char s1;
 char s2;
 scanf("%d", &a);
 getchar(); // 吸收"\n"
 scanf("%c", &s1);
 getchar(); // 吸收"\n"
 scanf("%c", &s2);
 printf("a = %d\n", a);
 printf("s1 = %c\n", s1);
 printf("s2 = %c\n", s2);
 return 0;
}

在格式串中過(guò)濾掉回車(chē)

#include<stdio.h>
int main() {
 int a;
 char s1;
 char s2;
 scanf("%d\n", &a); // 過(guò)濾掉回車(chē)
 scanf("%c\n", &s1);
 scanf("%c", &s2);
 printf("a = %d\n", a);
 printf("s1 = %c\n", s1);
 printf("s2 = %c\n", s2);
 return 0;
}

以上這篇解決C語(yǔ)言輸入單個(gè)字符屏蔽回車(chē)符的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何利用C語(yǔ)言實(shí)現(xiàn)最簡(jiǎn)單的HTTP服務(wù)器詳解

    如何利用C語(yǔ)言實(shí)現(xiàn)最簡(jiǎn)單的HTTP服務(wù)器詳解

    這篇文章主要給大家介紹了關(guān)于如何利用C語(yǔ)言實(shí)現(xiàn)最簡(jiǎn)單的HTTP服務(wù)器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • bloom filter概念講解以及代碼分析

    bloom filter概念講解以及代碼分析

    Bloom filter 優(yōu)點(diǎn)就是它的插入和查詢(xún)時(shí)間都是常數(shù),另外它查詢(xún)?cè)貐s不保存元素本身,具有良好的安全性
    2013-09-09
  • C語(yǔ)言實(shí)現(xiàn)掃雷游戲(可以自動(dòng)展開(kāi))

    C語(yǔ)言實(shí)現(xiàn)掃雷游戲(可以自動(dòng)展開(kāi))

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷游戲,可以自動(dòng)展開(kāi),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C語(yǔ)言 操作符分類(lèi)解析與使用

    C語(yǔ)言 操作符分類(lèi)解析與使用

    C 語(yǔ)言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,邏輯操作符,逗號(hào)表達(dá)式。讓我們通讀本篇來(lái)詳細(xì)了解吧
    2021-11-11
  • 淺談c++的編譯和運(yùn)行

    淺談c++的編譯和運(yùn)行

    下面小編就為大家?guī)?lái)一篇淺談c++的編譯和運(yùn)行。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • c/c++內(nèi)存分配大小實(shí)例講解

    c/c++內(nèi)存分配大小實(shí)例講解

    在本篇文章里小編給大家整理了一篇關(guān)于c/c++內(nèi)存分配大小實(shí)例講解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-11-11
  • C++ std::list的merge()使用方式與分析

    C++ std::list的merge()使用方式與分析

    這篇文章主要介紹了C++ std::list的merge()使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • C語(yǔ)言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)

    C語(yǔ)言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要介紹了C語(yǔ)言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++?OpenCV裁剪圖片時(shí)發(fā)生報(bào)錯(cuò)的解決方式

    C++?OpenCV裁剪圖片時(shí)發(fā)生報(bào)錯(cuò)的解決方式

    在圖像處理中,我們經(jīng)常根據(jù)需要截取圖像中某一區(qū)域做處理,下面這篇文章主要給大家介紹了關(guān)于C++?OpenCV裁剪圖片時(shí)發(fā)生報(bào)錯(cuò)的解決方式,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • c++中map的基本用法和嵌套用法實(shí)例分析

    c++中map的基本用法和嵌套用法實(shí)例分析

    這篇文章主要介紹了c++中map的基本用法和嵌套用法,以實(shí)例形式分析了map容器的基本使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01

最新評(píng)論