日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中getchar函数用法,linux getchar函数使用

發布時間:2023/12/16 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中getchar函数用法,linux getchar函数使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 函數介紹

1)? 函數原型

int??? getchar(void);

2)? 函數功能

從stdin中讀取一個字符。

3)? 返回值

返回讀取字符的ASCII值或者EOF字符或者出錯值。

4)? 頭文件

#include

2 函數使用

2.1 getchar函數的特點

Linux下編寫的一個例子:

#include

int main(void)

{

char ch;

int num;

num = 0;

printf("input your strings:\n");

while( (ch = getchar()) != '\n'){

printf("%c ", ch);

num++;

}

printf("\nThe string length is %d\n", num);

return 0;

}

編譯程序:gcc??????? –Wall??????? getchar.c????????? –o???? getchar

運行程序:./getchar? [回車]

//提示:當程序運行到while循環中的getchar時,界面等待用戶輸入字符,直到回車出現

input your strings:

輸入字符串:hello getchar

在輸入這段字符串的過程中getchar函數沒有發生從stdin讀取字符的操作(因為沒有任何的字符輸出),當在輸入字符串后按下回車后界面輸出情況如下:

input your strings:

hello getchar

h e l l o?? g e t c h a r

The string length is 13

misskissc@monday:~$

由程序執行過程及結果可推理getchar在等待用戶輸入時有兩個特征:

1)?????? getchar沒有立即讀從鍵盤敲進來的字符,而是等用戶按下回車之后再開始讀字符。

2)?????? getchar每次只讀取一個字符,如果程序中不采用循環而只設置一個getchar()語句,則getchar只讀取輸入字符串的首個字符,其余字符依然留在緩存區中(若將程序的while循環去掉只輸出第一個字符)。

2.2 getchar讀取回車字符么?

現將以上程序的while( (ch = getchar()) != '\n')改為while( (ch = getchar()) != 'n')其余部分保持不變。重新編譯并運行程序,輸入字符串:hello[回車]

得第一次運行結果

當程序首次執行到while中的getchar時,getchar函數等待用戶的輸入,getchar函數一直等待用戶輸入,當用戶按下回車表示用戶輸入完畢,getchar開始逐個讀取輸入的字符串,將用戶輸入的所有字符讀取完畢后(因為while的條件為真),再次等待用戶的輸入:

此次輸入字符’n’,注意輸入字符’n’時的位置,為什么不是在o后面呢,而是換了一行而且相隔了一個空格呢?其實是因為上一次getchar讀了一個回車,并被輸出到了界面之上使字符界面得以換了行。輸入字符’n’沒有按回車之前getchar函數是不會發生讀操作的,當在輸入字符’n’后按下回車后程序就會結束(或者在輸入字符’n’后再輸入其它的字符后再按下會車,程序依然將會結束,只是字符’n’后面的字符不會被getchar函數讀取,因為while循環的條件已經為假)并得到以下輸出界面

String輸入字符串的長度為6在一次表明getchar讀取了用戶輸入的回車。字符’n’雖然被讀取,但是不會被計數,因為此時while的條件為假了唄。

3 額外總結

函數本身的特性與語句條件限制兩者各自帶來的作用需要分清楚。

Note Over。

總結

以上是生活随笔為你收集整理的linux中getchar函数用法,linux getchar函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。