国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

2021-12-03 16:06Chaser Feng C/C++

C語言提供putchar函數(shù),用于給終端輸出一個(gè)字符;getchar函數(shù),可以從終端接收用戶輸入的一個(gè)字符,本文給大家分享C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用,感興趣的朋友跟隨小編一起看看吧

在C語言中,輸入和輸出除了用printf和scanf外,另外還有用于輸入字符的函數(shù)為getchar()函數(shù),用于輸出字符的函數(shù)為putchar()函數(shù)。
功能解釋如下:

C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用
C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

下面用例子來說明函數(shù)的用法

#include <stdio.h>
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
     putchar(ch);
  return 0;
}

結(jié)果:

C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

可以看出,當(dāng)按下鍵盤上的回車鍵時(shí),getchar函數(shù)會(huì)讀取到屏幕中輸入的字符和回車字符'\n',而putchar函數(shù)會(huì)將這個(gè)字符再次打印在屏幕上并顯示出回車的效果。而當(dāng)按下鍵盤上的ctrl+z鍵的時(shí)候,就會(huì)讓getchar讀取到EOF(意味著讀取字符失敗),此時(shí)getchar就會(huì)讀取結(jié)束。

應(yīng)用:

#include <stdio.h>
int main()
{
	char password[20] = { 0 };
	printf("請(qǐng)輸入密碼:>\n");
	scanf("%s", password);
	printf("請(qǐng)確認(rèn)密碼<Y/N>:");
	int ch = getchar();
		if (ch == 'Y')
		{
			printf("確認(rèn)成功!");
		}
		else
		{
			printf("確認(rèn)失敗!");
		}
	return 0;
}

C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

整體上看并沒有什么語法上的錯(cuò)誤,但為什么會(huì)出現(xiàn)上面的情況呢?這里就要重點(diǎn)說明一下getchar函數(shù)的讀取細(xì)節(jié)了。
如圖:

C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

首先scanf會(huì)把空格前的字符(即“12345”)都獲取,此時(shí)緩沖區(qū)中就會(huì)剩下“ (空格)avcde”,而getchar函數(shù)就會(huì)將剩下的第一個(gè)字符讀取,讀取的第一個(gè)位“(空格)”,不為“Y”,所以顯示“確認(rèn)失敗”;如何解決這一問題呢?就需要將剩下的字符都獲取完(包括“\n”,原因是當(dāng)在鍵盤上按下回車鍵時(shí),系統(tǒng)就會(huì)默認(rèn)輸入一個(gè)“\n”),再輸入后才會(huì)讀取成功。
改進(jìn)如下:

char password[20] = { 0 };
	printf("請(qǐng)輸入密碼:>\n");
	scanf("%s", password);
	printf("請(qǐng)確認(rèn)密碼<Y/N>:");
	int tmp = 0;
	//巧妙的運(yùn)用循環(huán)來清理緩沖區(qū)內(nèi)的多個(gè)字符
	while ((tmp = getchar()) != '\n')//當(dāng)獲取到'\n'時(shí),循環(huán)結(jié)束
	{
		;
	}
	int ch = getchar();
		if (ch == 'Y')
		{
			printf("確認(rèn)成功!");
		}
		else
		{
			printf("確認(rèn)失敗!");
		}

C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用

此時(shí)就能按照正常的邏輯運(yùn)行了。
以上就是對(duì)getchar函數(shù)一些小細(xì)節(jié)的理解,如有不當(dāng),歡迎指正!

到此這篇關(guān)于C++中putchar與getchar函數(shù)的細(xì)節(jié)及運(yùn)用的文章就介紹到這了,更多相關(guān)putchar與getchar函數(shù)內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/m0_56808122/article/details/119055738

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美黄视频在线观看 | av黄色在线播放 | www.欧美日韩| 久草视频网站 | 国产一区视频在线看 | 精品在线一区二区三区 | 久久综合一区 | 中文字幕一区二区在线观看 | 看黄免费 | 成人免费av电影 | 久久视频精品 | 亚洲精品欧美精品 | 久久大陆| 久久精品国产99国产 | 激情久久久| 亚洲成人在线播放视频 | 亚洲综合视频 | 不卡av电影在线观看 | 免费又黄又爽又猛大片午夜 | 成人午夜精品一区二区三区 | 在线观看亚洲区 | 欧美精三区欧美精三区 | 一级片在线观看 | 亚洲欧美激情精品一区二区 | 亚洲精品天堂 | 日韩免费片 | 一级黄片毛片 | 国产高清不卡在线 | 国产毛片18片毛一级特黄日韩a | 日韩一区二区三区电影在线观看 | 91精品中文字幕一区二区三区 | 免费在线亚洲 | 久久av一区二区三区亚洲 | 欧美电影免费网站 | 中文字幕在线观看 | 国内精品久久久 | 国外成人在线视频网站 | 久久一区| 国产美女久久 | 亚洲 中文 欧美 日韩 在线观看 | 国产在线网站 |