就是只能從輸入設備上接受一個字符的輸入和只能向輸出設備輸出一個字符。比如,用了ch=getchar(),我輸入abc,電腦只接受了a,而不是abc,那么ch就是等于a了,然后我putchar('abc'),顯示也只能顯示一個a,無法把三個字符全部顯示出來。
創(chuàng)新互聯建站是工信部頒發(fā)資質IDC服務器商,為用戶提供優(yōu)質的成都棕樹機房服務
一、輸入數字可以用scanf輸入。
如果輸入的是整型數據,可以用
int a;
scanf("%d",a);
實現把輸入的數字賦值給a的效果。
類似的,如果是float, double,short,long等類型的數據,那么就要把變量定義成對應的類型,然后使用各自的格式字符%f,%lf,%hd,%ld等進行輸入。
二、輸入單個字符。
輸入單個字符可以用以下兩種函數。
定義char c;
1 scanf("%c", c);
這種方法和輸入數字是類似的,%c僅讀入一個字符,并賦值給c。
2 c = getchar();
getchar函數的功能就是讀入一個字符,并以返回值形式返回。
三、輸入一串字符(以空白字符分隔)。
可以用scanf的%s格式。
char str[100];//空間要定義足夠大
scanf("%s", str);//將字符串讀入并存在str中
四,讀入一行數據。
可以用gets函數。gets的功能就是讀入一整行數據,以換行符為結束。
char str[100];//同樣要足夠大的空間
gets(str);
補充,無論哪種形式的輸入,都可以用getchar逐個輸入到字符串中,然后判斷結束符以結束輸入,再對字符串做處理。這種方法對編程水平要求比前幾種略高,代碼量也更大,但好處是完全自己控制,更加靈活。
getchar()是c語言中的一個輸入函數,
可以用它來賦一個字符的值.
例如:? ? char a;
a=getchar();
當你在鍵盤上輸入一個字符(如輸入g)后按回車,那么字符變量a的值就是'g'了。
與scanf的區(qū)別:
1、getchar()函數只能輸入一個字符型的值,而scanf()函數除了字符型,還可以輸入多種數據類型的值,包括整型、浮點型等。
2、scanf()函數輸入字符型需要%c說明符,而getchar()函數不需要說明符。
擴展資料:
getchar()函數的注意事項:
1、當程序調用getchar時,程序就等著用戶按鍵,用戶輸入的字符被存放在鍵盤緩沖區(qū)中,直到用戶按回車為止(回車字符也放在緩沖區(qū)中)。
當用戶鍵入回車之后,getchar才開始從stdio流中每次讀入一個字符。
如果用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區(qū)中,等待后續(xù)getchar調用讀取.也就是說,后續(xù)的getchar調用不會等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完為后,才等待用戶按鍵。
2、getchar有一個int型的返回值,當用戶鍵入回車之后,getchar才開始從stdio流中每次讀入一個字符。getchar函數的返回值是用戶輸入的第一個字符的ASCII碼,如出錯返回-1,且將用戶輸入的字符回顯到屏幕。
參考資料:
百度百科-getchar()
百度百科-scanf()
getchar
函數(單個字符的輸入函數)
例
說明getchar函數的格式和作用。
1
#include
"stdio.h"
2
void
main()
3
{
4
char
ch;
5
printf("Please
input
two
character:
");
6
ch=getchar();
7
putchar(ch);putchar('\n');
8
putchar(getchar());
9
putchar('\n');
10
}
程序運行情況如下:
Please
input
two
characters:
ab↙(注意輸入方法)
a
b
1.
getchar函數的格式:c=getchar();
2.getchar函數的作用:從系統(tǒng)隱含的輸入設備(如鍵盤)輸入一個字符。
getchar函數只能用于單個字符的輸入,一次輸入一個字符。程序的功能是輸入一個字符,顯示一個字符,回車換行,再輸入并顯示一個字符。而運行時字符是連續(xù)輸入的,運行結果卻是正確的,這是因為輸入字符后,它們暫存于鍵盤的緩沖區(qū)中,然后由getchar函數從鍵盤緩沖區(qū)中一個一個的取出來。使用getchar函數時,在程序(或文件)的開頭也必須加上編譯預處理命令:#include
"stdio.h"
getchar輸入字符,一直到按下回車才結束,然后執(zhí)行代碼
getchar()函數是C語言專門為輸入單個字符而提供的,getchar()函數是從I/O字符流中讀取一個字符,必須輸入換行才能讀入字符。
例如:
#includestdio.h
int main(void)
{
char ch;
int i;
for(i=0;i5;i++)
{
ch=getchar();????//帶回顯,且等待按Enter鍵換行
printf("%c",ch);
}
return 0;
}
擴展資料:
getchar()、getche()、getch()相比較
getchar()函數是C語言專門為輸入單個字符而提供的,getchar()函數是從I/O字符流中讀取一個字符,必須輸入換行才能讀入字符。
getche()、getch()函數也是讀入單個字符,是從控制臺直接讀取一個字符,無須換行即可讀入字符。
getchar()是C的標準庫函數,包含在頭文件stdio.h中。
而getche()和getch()需要的頭文件是conio.h。conio.h不是C標準庫中的頭文件。conio是ConsoleInput/Output(控制臺輸入輸出)的簡寫,其中定義了通過控制臺進行數據輸入和數據輸出的函數,主要是一些用戶通過按鍵盤產生的對應操作。
getchar()函數從鍵盤讀入字符時,輸入的字符帶回顯,并且必須等到輸入換行(按Enter鍵)才能讀取一個字符。
getche()函數從鍵盤讀入字符時,輸入的字符會回顯到顯示屏上,但是無須輸入換行即可讀取一個字符。
getch()函數從鍵盤讀入字符時,輸入的字符不回顯到顯示屏上,但是無須輸入換行即可讀取一個字符。
參考資料來源:百度百科-C語言函數
參考資料來源:百度百科-C語言
分享文章:c語言輸入單個字符的函數 函數是單個字符輸入函數
文章URL:http://chinadenli.net/article40/hpeieo.html
成都網站建設公司_創(chuàng)新互聯,為您提供微信公眾號、定制開發(fā)、網站內鏈、云服務器、移動網站建設、App開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯