getchar不是從鍵盤獲取字元麼?charc然

時間 2021-12-19 13:10:28

1樓:匿名使用者

用一個迴圈,將字元一個一個依次讀入一個字元陣列,並在陣列最後加中終止符號,就「製造」出了一個字串。如下:

#include

int main()

c[i]='\0'; //所有字元都讀入陣列了,最後在末尾加個'\0',表示這是字串。

printf("%s\n",c);

return 0;}

2樓:雨憶將離

用個for語句。。

一直讀取。。直到某個字元的時候停止。

一般人家用char c只是臨時存放的。。不是全部放在裡面。。

你可以把獲取的都丟到別的地方去。。比如每獲取一個。就加到字串裡面。

3樓:

為什麼要用getchar來獲得字串?

可以通過getchar來一個個字元的讀取的方式獲得整個字串

4樓:堅強地前行

如果是輸出的話 還需要putchar 再用for語句 就可以實現了

5樓:k高人

gerchar只能每次獲取一個字元:

char c;

c=getchar();

獲取字串要用gets:

char s[20];

gets(s);

6樓:匿名使用者

可以用while迴圈,一個一個的讀取

7樓:匿名使用者

#include

#include

int main()

8樓:匿名使用者

#include

const int length = 10;

int main ()

}while (1);

if (index != 0)

cs[index + 1] = '\0';

printf ("%s", cs);}

c語言:getchar函式的用法

9樓:浪子_回頭

getchar 由巨集實現:#define getchar() 。

getchar(stdin)語句功能:getchar有一個int型的返回值,當程式呼叫getchar時,程式就等著使用者按鍵,使用者輸入的字元被存放在鍵盤緩衝區中,直到使用者按回車為止(回車字元也放在緩衝區中)。

當使用者鍵入回車之後,getchar才開始從stdin流中每次讀入一個字元,getchar函式的返回值是使用者輸入的第一個字元的ascii碼。

如出錯返回-1,且將使用者輸入的字元回顯到螢幕,如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取。

也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵。

示例:#include

void main()

10樓:尖子生管理員小宇

在c語言開發中的getchar函式呼叫原始碼詳解

11樓:

getchar()函式的作用是從計算機終端(一般為鍵盤)獲取一個無符號字元。getchar()函式只能接收一個字元,其函式值就是從輸入裝置獲取到的字元。

12樓:禰騰元思柔

要加上迴圈體的話就能看得更清楚了

設迴圈體為putchar(c);

while((c=getchar())!='\n')輸入為648152最後加個回車

判斷'6'!='\n'執行迴圈體

輸出'6'

'4'!='\n'執行迴圈體

輸出'4'

'8'!='\n'執行迴圈體

輸出'8'

'1'!='\n'執行迴圈體

輸出'1'

'5'!='\n'執行迴圈體

輸出'5'

'2'!='\n'執行迴圈體

輸出'2'

'\n'=='\n'退出迴圈

由於c語言區別兩次輸入的符號是空格

回車或tab

所以當你在輸入6之後不會立刻列印6

系統認為你一次輸入還沒結束

當你輸入回車時輸入結束

列印的時候就會把上面的一起列印(從堆疊)

螢幕上面就會又出現一行648152

一共兩行

很有意思吧

13樓:一諾寶貝

main()

這段程式的作用是讀入一個字元後立即輸出, 直到輸入一個「換行」為止(從鍵盤輸入一個字元,如果不是換行符就執行printf,在螢幕輸出); 同時,注意從終端鍵盤向計算機輸入時,是在按 enter 鍵以後才將一批資料一起送到記憶體緩衝區中去的。

使用getchar函式還應注意幾個問題:

getchar函式只能接受單個字元,輸入數字也按字元處理。輸入多於一個字元時,只 接收第一個字元。

使用本函式前必須包含檔案「stdio.h」。

在tc螢幕下執行含本函式程式時,將退出tc 螢幕進入使用者螢幕等待使用者輸入。輸入 完畢再返回tc螢幕。

14樓:匿名使用者

建議你去看看關於輸入輸出的資料,這也是c相對比較難的地方,getchar();永遠只向快取中輸入一個字元,在你舉的例子中(9)步其實只是向快取中存入的使用者輸入的第一個字母,正常說是f

但在c中回車符也算個字元

如果沒有(11)

再第二次迴圈中 (9)步向快取中遞交的並不是使用者輸入的字元而是使用者第一次打入的回車符

導致迴圈停止

getchar();的用法很多;

一種就是你這個程式用到的清空回車符 這種情況一般發生在在迴圈中涉及到輸入的情況

還有一種是某些編譯平臺(ide)在執行程式時並沒有在程式執行後給人看結果的時間 這時候 在程式最後加上getchar()就能造成程式的暫停 給程式設計師度結果的機會

while((c=getchar())!='\n')的意思

15樓:匿名使用者

while((c=getchar())!='\n')的意思是:一直迴圈,等到使用者輸入回車為止,結束迴圈。

當程式呼叫getchar時,程式就等著使用者按鍵。使用者輸入的字元被存放在鍵盤緩衝區中。直到使用者按回車為止。

當使用者鍵入回車之後,getchar才開始從stdin流中每次讀入一個字元。getchar函式的返回值是使用者輸入的字元的ascii碼,若檔案結尾則返回-1(eof),且將使用者輸入的字元回顯到螢幕。

(c=getchar())!='\n'表示的條件語句意思是:判斷使用者的輸入字元不是'\n',即回車,只要使用者輸入的不是回車,while迴圈就會一直執行。

16樓:樂酷科技

c=getchar())!='\n'就是從控制檯讀入一個字元c 迴圈中止的條件是回車鍵

輸入2 執行:case 0:

case 1:

putchar(c+4);

case 2:

putchar(c+4);break; 也就是輸出66輸入4 執行:

case 2:

putchar(c+4);break; 也就是輸出8輸入7執行 :

default:

putchar(c+2);break; 輸出9輸入3

執行 :

case 1:

putchar(c+4);

case 2:

putchar(c+4);break;也就是 輸出 77所以 輸出的是668977 懂了吧

17樓:再回首往日青空

原式應該是這個吧while(getchar()!=『\n』)n++

這是迴圈結構中的迴圈條件,作用是用來計算你從鍵盤輸入的所有字元的個數(字元數量),①"getchar()"是從鍵盤輸入的意思,你可以從鍵盤輸入很多字元,但這是一個迴圈條件,怎樣設定條件呢,就設定為②當我們敲鍵盤上的回車鍵enter的時候("!=『\n』",\n換行,相當於enter,"!=『\n』"非換行,即沒按enter的時候它繼續迴圈,你輸入一個字元,n它就自己加1記錄,這一部分的意思就是這樣,或許我們看不懂就是這一段吧),③n++按課本的意思是"迴圈體n++用來對輸入字元的個數計數",就是這麼神奇ԅ(¯ㅂ¯ԅ),更通俗一點就是,你每從鍵盤輸入一個字元,n它就自增1來計算你輸入了多少個字元...

題外話,它可以計算出你從鍵盤輸入的整數有幾位...ԅ(¯ㅂ¯ԅ)...當你從鍵盤按enter鍵它就會停止迴圈,並把輸入的字元統計數量,並輸出來...

其是我這樣輸入很麻煩,我就是不滿意,那些答案,我也不太懂,明白了,回來說一次?,希望能幫到疑惑你們...

18樓:小猥瑣之葉子

先輸入資料,之後getchar()的返回值一個接一個賦給c, 然後比較c是不是不等於'回車鍵,如果不等於回車鍵就會執行迴圈。如果等於就會結束。

19樓:匿名使用者

while((c=getchar())!='\n')的意思就是錄入的字元不是回車鍵字元就執行迴圈裡面的命令!直到錄入回車鍵字元 就退出迴圈。

設一個變數c,需要用getchar()獲取數字或符號,數字得到也是字元怎麼解?,只用一個變數可以實

20樓:

數字也可以定義為字元型資料,你可以看看ascii**

21樓:爽朗的小洛

有一個函式atoi(const char *),,大致寫下偽**,詳細你還要判斷下

while((c = getchar()) != '\n')

22樓:笑清風

getchar()從stdio流中讀字元,相當於getc(stdin),它從標準輸入裡讀取下一個字元。

c = getchar(); c獲得輸入的字元或數字。 如果輸入的是數字,它會以ascii為準,轉換成相應的字元。printf("字元%c = 數字 %d",c,c);

下面是將數字轉換為字串(你不一定用的上):

c語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串。以下是用itoa()函式將整數轉換為字串的一個例子:

# include

# include

void main (void);

void main (void)

23樓:匿名使用者

不知道你要表達什麼?

c語言裡getchar()作用?

24樓:天雲小店

getchar()的作用是從鍵盤上讀入一個字元,並帶回顯。

getchar()函式等待輸入直到按回車才結束,回車前的所有輸入字元都會逐個顯示在螢幕上,但只有第一個字元作為函式的返回值。

getchar函式原型如下:

函式格式:int getchar(void);

功 能:從標準輸入裝置讀取下一個字元返 回 值:返回所讀字元,否則返回-1

25樓:匿名使用者

兩個getchar函式的目的都是為了吸收上一次輸入的回車符,以防止gets獲取空字串

26樓:木葉風窗

是c語言中的一個函式,

可以用它來賦一個字元的值.

例如:char a;

a=getchar()();

當你在鍵盤上輸入一個字元後按回車;(輸入u)那麼字元變數a的值就是'u'了.

27樓:匿名使用者

scanf("%d",&n);

getchar();

for(i=0;i

是指上面兩行中間的getchar()嗎?這裡的getchar()函式主要用於吸收緩衝區中殘留的字元,避免前面輸入資料後,對後面的gets()輸入的影響。

執行完scanf()函式後,緩衝區中會留下換行符等其他字元

28樓:匿名使用者

用來獲取上次輸入的回車

scanf();輸入的回車

c如何獲取字串除最後一位外的字元

仰起臉 微笑 如果是那你確定只不要最後一個字的話可以str.substring 0,str.length 1 如果不確定就用正則匹配數字 試試看這樣行不行 string str 3000張 string result system.text.regularexpressions.regex.matc...

用c語言,不是c從鍵盤中輸入字串,然後按照下面要求輸出新字串

include stdio.h include string.h include malloc.h void insert char a int main include include include void insert char char int int main printf n d n ...

c中,如何通過正規表示式(或其他方法)獲取字串中數字

草薙在 from match m in regex.matches 北京天安門到人民大會堂向東走500.9434324米,在第二個路口向東走789.3434324324米 d d select math.round double.parse m.value 1 toarray 擷取字串中數字型別的自...