C語言中whilestr getcharn 沒用

2021-04-29 18:10:33 字數 3606 閱讀 1300

1樓:匿名使用者

1、要先輸入bai

字串,再du輸入字元。

2、i對應各個zhi字元,daostr[i]='\0'就把最後一個字元去掉內了,如果恰恰是要找的字容符怎麼辦?

3、index=i了,那麼,idex還怎麼等於i+1?

邏輯錯誤太多,程式混亂,不是換某個字元就能解決問題的,是巧合倒有可能。

2樓:匿名使用者

答: while ((str[i]=getchar())!du='\n') 中(str[i]=getchar()) 的作用是取得 getchar() 函式的

zhi返回值,並非為字

dao符回陣列 str[80]賦值,而函式 getchar() 的返回值是int型別,答

所以用字元陣列取得返回值本身就是錯誤的。

3樓:丿艾瑞灬莉婭

#include

int main()

}if(str[i]=='\0')

printf("not found!\n");

return 0;}

c語言中 while ((c=getchar()) != '\n')不懂

4樓:匿名使用者

這句話的意思是:從鍵盤獲取一個字元,就是叫你從鍵盤輸入一個字元,只要你輸入的不是enter鍵就執行迴圈體,由於你沒有宣告當鍵入的是enter鍵時執行什麼操作,所以在執行時若直接輸入enter,可能(注意我說的是可能)會導致程式崩潰.

5樓:匿名使用者

一直讀取字元,直到遇到換行

6樓:匿名使用者

從鍵盤輸入一個字元 賦給 s[i] 並判斷 它是否是 回車(換行) 如果不是從第i+1個開始到換行(\\n)前一個字元,計算其中的字元個數,最後結果加c

7樓:匿名使用者

只要輸入的資料不為enter 則繼續執行,如果為enter停止

8樓:匿名使用者

只要不是回車,即enter

c語言中,回車的ascii是\n

9樓:匿名使用者

如果遇到「\n」(也就是換行符)這個位置就停止執行while迴圈

c語言程式設計中while (getchar()!='\n')在語句中起到什麼作用?

10樓:舊時的煙雨

表示如果沒有讀到換行符(也就是回車鍵),那麼繼續迴圈。

c語言中while((ch=getchar())!="\n")的作用是什麼?怎麼理解?

11樓:匿名使用者

首先這句話是不對的,應該是while((ch=getchar())!='\n')

ch=getchar()的意思是獲得一個字元給ch,如果獲得的字元不是'\n'(回車符),就執行迴圈,否則退出迴圈。

c語言中語句 getchar()!=』\n' 這是什麼意思?

12樓:動感小土豆兒

這種符號一般出現在while迴圈語句中,如:while((a=getchar())!='\n')

其目的是為了消除讀入不符合格式的專

字元,如輸入屬123xy,在scanf函式中只讀入123,進行一次迴圈,如果沒有while((a=getchar())!='\n'),剩下的xy會一直保留進入死迴圈,沒法讀入後面輸入的資料。

13樓:匿名使用者

一般來說通常是這樣的情況出現

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

意思是,不停的從輸入裝置獲取一個字元,知道遇到換行符為止,最終把緩衝區的字元付給a,這樣a就可以擁有空格了

14樓:匿名使用者

\n代表回車,這句話表示按下的鍵不是回車的情況

你可以看看下百科對於轉義字元的解釋

15樓:匿名使用者

判斷是不是到了字串的末尾。

c語言while((ch=getchar()) i='\n'的i='\n'的作用是什麼?

16樓:

**有問題,應該是

while ((ch = getchar()) != '\n')!和i可別搞混啊,差別太大了

目的是不斷讀取使用者輸入的字元,當讀取到的字元為回車符的時候停止迴圈。

17樓:微俊

毛啊 不會回答不要回答 當你輸入的字元中為回車符的時候停止迴圈 中間的i是不等於!=

18樓:匿名使用者

得具體**具體分析 你**貼太少了

19樓:克里斯弗萊

完整語句應該是while((ch=getchar())!='\n')吧,就是如果輸入的字元不是回車,則執行while迴圈內的內容

20樓:匿名使用者

是個轉義字元,用來在程式輸出時換行用的。使輸出顯得整齊。

c語言 while (getchar() != '\n')為什麼可以過跳過回車?

21樓:金色潛鳥

(1)分清鍵盤緩衝區 和 輸入流資料緩衝區。

當我們在鍵盤上按鍵時,按入的 一個個 鍵值都 在 鍵盤緩衝區 裡,只有當 新行鍵 到來時,

按入的 這些 鍵值(字元們,和新行鍵) 才從 鍵盤緩衝區 送入 輸入流資料緩衝區。

(2)getchar() 是到輸入流資料緩衝區去讀取一個字元,

當 輸入流資料緩衝區 沒有資料時,讀語句 就等待,

當 輸入流資料緩衝區 有 資料 是,就讀 最先 進來的那個字元,讀一個,就從輸入流資料緩衝區裡清除掉這個字元。

getchar() != '\n' 是 進一步 判斷 剛 讀入的這個字元 是不是新行鍵。

(3)while (getchar() != '\n' ) continue;

與 while (getchar() != '\n' ) 空語句 ; 作用 相同,就是 到 輸入流資料緩衝區去讀取一個一個字元,只要讀到的 不是 '\n', 就繼續讀 (讀一個清除一個),直到 讀到 '\n'。其作用等於 「清除 輸入流資料緩衝區」。

(4) 輸入流資料緩衝區 被 清除後,程式 回到

while (getchar() != 'y' );

這時,輸入流資料緩衝區 沒東西。等待 鍵盤緩衝區 把東西 送過來。

鍵盤緩衝區 等待 使用者 拍入 字元,並等待 '\n' 到來,

一旦 '\n' 到來, 鍵盤緩衝區 裡的內容 才送到 輸入流資料緩衝區。

輸入流裡若有 'y', 就 結束 這個 while 迴圈。

否則 while (getchar() != '\n' ) 就會 「清除 輸入流資料緩衝區」,回到等待 'y' 的 迴圈。

22樓:匿名使用者

這段**是跳過所有輸入的字元,直到遇到\n就跳出內層迴圈,去進行是否y的判斷

因為getchar是以回車結束輸入

所以它判斷完是否是y之後 需要過濾掉後面所有的字元,包括\n再開始錄入判斷

c語言中怎麼用C語言中怎麼用

最近 盤 字很流行,盤是什麼意思?為什麼能成為網路熱詞?結果是3 解答過程 自 首先算a b 表示異或 十進位制a 1,等於二進位制0001 十進位制b 2,等於二進位制0010 異或為對應位不同時取真,故0001 0010結果為0011,即為十進位制的3 再算 a b c 表示按位與,a b的結果...

c語言中,temp是什麼函式,C語言中,temp是什麼函式

在c語言中,temp沒有特別的含義,既不是關鍵字也不是庫函式。可能是程式設計人員自版定義的權一個變數或函式,通常用來表示一個臨時變數,來自 臨時 的英文單詞temporary。舉例如下 int temp 定義一個int型別的變數,變數名為temp double temp 定義一個double型別的變...

c語言中process什麼意思,C語言中process什麼意思

void process int a,int b,int fun 這句話的意思是宣告一個無返回值的process函式,形參為int a,int b和一個返回int的函式指標 你這來個圖裡的process只是一源個函式的名稱,bai和常用的printf,scanf在同 du一個等級,區別只是,這zhi...