python getchar功能_getchar函数
C/C++ getchar函數(shù)
最后更新于:2020-05-29 23:11:28
對于控制臺程序,C語言中g(shù)etchar函數(shù)一共有兩個用處:
1.可以和用戶交互,獲取用戶的鍵盤輸入,例如:用戶按下鍵盤的a鍵,那么getchar函數(shù)就返回字符a;
2.對于win32控制臺而言,getchar函數(shù)和system("pause")函數(shù)作用類似,解決控制臺黑屏窗口一閃而過的問題;
一.getchar函數(shù)簡介
1.getchar函數(shù)簡介
getchar函數(shù)有一個int或者char型的返回值,當(dāng)程序調(diào)用getchar時,程序就等著用戶鍵盤按鍵。用戶輸入的字符被存放在鍵盤緩沖區(qū)中。直到用戶按回車為止(回車字符也放在緩沖區(qū)中),當(dāng)用戶鍵入回車之后,getchar才開始從緩沖區(qū)中讀入字符,例如:用戶按下鍵盤的a鍵,那么getchar函數(shù)就返回字符a;
2.`getchar`函數(shù)聲明
該函數(shù)聲明在`stdio.h`頭文件中,使用的時候要包含stdio.h頭文件。如:
#include
char getchar(void)
在C語言中對于控制臺程序,我們一般通過`printf`函數(shù)輸出信息到控制臺窗口顯示,而getchar函數(shù)則是可以從控制臺獲取用戶的輸入,而達(dá)到和用戶交互的目的,注意兩者的區(qū)別!
二.getchar函數(shù)使用
/************************************************************************/
/*@文件名 : getchar.cpp
/*@日 期 : 2020/5/14 21:52
/*@作 者 : 猿說編程
/*@公眾號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - getchar函數(shù)
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
printf("請輸入字符:\n");
char c = getchar();
printf("獲取到您輸入的字符:%c\n",c);
system("pause");
return 0;
}
輸出結(jié)果:
請輸入字符:
w
獲取到您輸入的字符:w
請按任意鍵繼續(xù). . .
因?yàn)槲逸斎氲氖莣,所以getchar函數(shù)返回的就是w,你輸入任意按鍵都是可以的;
值得注意的是:
1.getchar函數(shù)返回的字符對應(yīng)的占位符是 %c;
2.getchar函數(shù)只能獲取單個字符;
3.回車鍵'\n'也在緩沖區(qū)中,并作為最后一個字符被getchar函數(shù)取出;
如果在回車按下之前輸入了多個字符,所有的字符都會被存在緩沖區(qū)中,getchar函數(shù)會默認(rèn)返回第一個字符,例如:我們在回車之前輸入了12345,如何把緩沖區(qū)的所有字符都獲取到呢?
/************************************************************************/
/*@文件名 : getchar.cpp
/*@日 期 : 2020/5/17 21:52
/*@作 者 : 猿說編程
/*@公眾號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - getchar函數(shù)
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
char c = getchar();
for (;;) //死循環(huán)
{
if (c == '\n') //檢查是不是回車鍵
{
printf("最后一個字符啦 %c \n", c);
break;
}
else
{
printf("獲取緩沖區(qū)字符 %c \n", c);
c = getchar();
}
}
system("pause");
return 0;
}
輸出:
12345
獲取緩沖區(qū)字符 1
獲取緩沖區(qū)字符 2
獲取緩沖區(qū)字符 3
獲取緩沖區(qū)字符 4
獲取緩沖區(qū)字符 5
最后一個字符啦
請按任意鍵繼續(xù). . .
由上面代碼可以明白,回車'\n'按鍵是緩沖區(qū)中最后一個字符;
三.getchar函數(shù)妙用
一般控制臺程序在運(yùn)行的時候,只看到一個黑窗口一閃而過,具體顯示的什么根本來不及看,在前面的文章中我們介紹了可以通過system函數(shù)解決這個問題,而今天我們使用getchar函數(shù)一樣能完成這個功能,因?yàn)樵谡{(diào)用getchar函數(shù)之后,程序回一直等待用戶輸入直到按下回車之后程序才會繼續(xù)執(zhí)行,示例代碼如下:
/************************************************************************/
/*@文件名 : getchar.cpp
/*@日 期 : 2020/5/17 21:52
/*@作 者 : 猿說編程
/*@公眾號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - getchar函數(shù)
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
int _tmain(int argc, _TCHAR* argv[])
{
printf("猿說編程 - python和C++教程\n");
getchar();
printf("程序結(jié)束\n");
return 0;
}
輸出:
猿說編程 - python和C++教程
運(yùn)行這個程序,控制臺輸出了第一個printf函數(shù)的內(nèi)容:猿說編程 – python和C++教程 ,而第二個printf函數(shù)的內(nèi)容: 程序結(jié)束 并沒有顯示到控制臺,是因?yàn)間etchar函數(shù)在等待我們輸入任意字符并按下回車;
當(dāng)我們按下鍵盤任意按鍵并敲回車之后,程序立即輸出第二個printf函數(shù)的內(nèi)容: 程序結(jié)束,然后主函數(shù)main結(jié)束,程序退出,控制臺窗口消失;
猜你喜歡:
技術(shù)交流、商務(wù)合作請直接聯(lián)系博主掃碼或搜索:猿說編程
猿說編程微信公眾號 掃一掃關(guān)注
贊賞
微信贊賞支付寶贊賞
總結(jié)
以上是生活随笔為你收集整理的python getchar功能_getchar函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 探索宇宙奥秘的句子78句
- 下一篇: 安卓手机如何设置dns 如何通过手机更改