1樓:風清響
getchar()從鍵盤讀取乙個字元,那麼你應該宣告乙個變數來儲存這個字元。不如
c=getchar()
然後你列印c的話就可以列印這個讀取的字元。
如果想要依次處理讀入的字元經常這樣使用
while((c=getchar())!=eof)
表示式就是說,只要沒有到檔案結束,就不斷從鍵盤讀入輸入的字元,並用表示式處理
例如while((c=getchar())!=eof)
s[i]=c;
不斷讀入字元,並把它存在乙個s陣列裡面
你這段程式裡,是getchar()的另外乙個用途,即輸入任意按鍵,程式結束,相當於讓程式暫停,然後你隨便按乙個按鍵,程式結束。我們不需要列印這個字元,也不關心它是什麼,所以不用把它賦值給任何變數,我們的目的就是讓系統再吃掉乙個字元即可。
不過你printf("%d,c");這一句寫錯了,c應該在引號外面,c表示%d引用的變數
printf("%d「,c);
2樓:王囧囧
// 這麼改,注意printf函式所需要引數的格式printf("%d", c);
// 另外,這個例子裡getchar是用來使程式暫停,等待回車後退出的。
// getchar的基本用法是從標準輸入(鍵盤)讀取下乙個字元,例子為:
int main(void)
3樓:
我看你的分號有中文的分號 。要全英的。
int main()
4樓:金色潛鳥
printf("%d",c);
c語言裡getchar()作用?
5樓:天雲小店
getchar()的作用是從鍵盤上讀入乙個字元,並帶回顯。
getchar()函式等待輸入直到按回車才結束,回車前的所有輸入字元都會逐個顯示在螢幕上,但只有第乙個字元作為函式的返回值。
getchar函式原型如下:
函式格式:int getchar(void);
功 能:從標準輸入裝置讀取下乙個字元返 回 值:返回所讀字元,否則返回-1
6樓:匿名使用者
兩個getchar函式的目的都是為了吸收上一次輸入的回車符,以防止gets獲取空字串
7樓:木葉風窗
是c語言中的乙個函式,
可以用它來賦乙個字元的值.
例如:char a;
a=getchar()();
當你在鍵盤上輸入乙個字元後按回車;(輸入u)那麼字元變數a的值就是'u'了.
8樓:匿名使用者
scanf("%d",&n);
getchar();
for(i=0;i 是指上面兩行中間的getchar()嗎?這裡的getchar()函式主要用於吸收緩衝區中殘留的字元,避免前面輸入資料後,對後面的gets()輸入的影響。 執行完scanf()函式後,緩衝區中會留下換行符等其他字元 9樓:匿名使用者 用來獲取上次輸入的回車 scanf();輸入的回車 c語言中的getchar如何使用 10樓:如此_青春 getchar()是c語言中的乙個輸入函式,可以用它來賦乙個字元的值. 例如: char a; a=getchar(); 當你在鍵盤上輸入乙個字元(如輸入g)後按回車,那麼字元變數a的值就是'g'了。 與scanf的區別: 1、getchar()函式只能輸入乙個字元型的值,而scanf()函式除了字元型,還可以輸入多種資料型別的值,包括整型、浮點型等。 2、scanf()函式輸入字元型需要%c說明符,而getchar()函式不需要說明符。 11樓:御阪妹妹 getchar()返回輸入流中的乙個位元組,如果輸入流已經到尾部,返回eof(-1) 舉例#define eof -1 void func(void) 這個函式會在輸入eof後結束讀取,然後輸出輸入的倒續。 12樓:潮汐之湧動 char c; c=getchar();//表示輸入乙個字元不過我平時太多直接 getchar(); 以此來直接吃掉前面scanf的那個回車以防干擾下面的輸入 另外還有乙個getch(),這個作用與getchar()一樣是輸入乙個字元,不過getchar()輸入了在控制台會顯示字元,getch()不會顯示,所以getch()常用作密碼輸入 13樓:匿名使用者 請看 c語言中getchar()的用法 14樓:浪子_回頭 getchar 由巨集實現:#define getchar() 。 getchar(stdin)語句功能:getchar有乙個int型的返回值,當程式呼叫getchar時,程式就等著使用者按鍵,使用者輸入的字元被存放在鍵盤緩衝區中,直到使用者按回車為止(回車字元也放在緩衝區中)。 當使用者鍵入回車之後,getchar才開始從stdin流中每次讀入乙個字元,getchar函式的返回值是使用者輸入的第乙個字元的ascii碼。 如出錯返回-1,且將使用者輸入的字元回顯到螢幕,如使用者在按回車之前輸入了不止乙個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取。 也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵。 示例:#include void main() char c;//定義乙個字元 printf("input a character\n"); c=getchar(); //從鍵盤獲取乙個字元 putchar(c);//輸出字元 15樓:匿名使用者 getchar();的用途是從從標準輸入流讀取乙個字元,讀回車符時退出。getchar();永遠只向快取中輸入乙個字元。 getchar();的用法很多: 一種就是清空回車符,這種情況一般發生在在迴圈中涉及到輸入的情況。 還有一種是某些編譯平台(ide)在執行程式時並沒有在程式執行後給人看結果的時間,這時候在程式最後加上getchar();就能造成程式的暫停,給程式設計師度結果的機會。 用getchar();時,在鍵盤上按乙個字元後,要按回車才能讀取進去;用getch();時,在鍵盤上按乙個字元馬上就被讀取進去,不用按回車,因此可以作為「按任意鍵繼續」的執行語句。 example 為什麼第一次迴圈x=getchar();沒執行?而後幾次卻可以執行?把那句改為 cin;也是同樣的效果。 #include using namespace std; int main() }因為你用getchar();只能接收到乙個字元,當你輸入n值後,你按了回車鍵,這個值在windows平台下是兩個ascii字元/n/r也就是回車換行,當回車時/n被控制台接收面/r沒有,那麼第一次進入for時getchar();就已經接收了/r所以就出現你看到情況了。 對,用cin當然是正確的。因為cin是乙個istream的物件這個c++標準庫里的類,它是把一切輸入都流入這個物件,它每接收乙個輸入都放在流裡,在底層會過濾掉一些沒用的輸入,它只會使用者的有效輸入置入變數就是它的工作方式。 16樓:gta小雞 ch=getchar(); //從緩衝區中讀入乙個字元賦給chwhile (ch != '#') //檢查ch是否等於'#' putchar(ch); //如果不等於'#'則執行迴圈體,輸出ch的值然後返回上一行 getchar(); //如果ch不等於'#',這裡的**永遠不會執行到 17樓:貿石檢安 getchar函式中輸入乙個字元,包括數字都可以。 例:c=getchar()這個語句的話,程式執行到這個地方的時候,會要求你輸入乙個字元,輸入字元按下回車,你所輸入的字元就傳到了變數c中 再例:getchar()表示起暫停作用哦。 18樓:興堅成後文 是這樣的,你要進行下面的程式,就得按下回車鍵使輸入生效,這樣就輸入了'\n' 迴圈就退出了 19樓:鈄育普微 getchar()要讀入回車後才會跳出迴圈648152後面只有跟回車才會執行下乙個語句 ,否則繼續執行迴圈 20樓:匿名使用者 c是int的時候取資料時忽略了空格,但是c為char時取到的是空格 21樓:一諾寶貝 main() 這段程式的作用是讀入乙個字元後立即輸出, 直到輸入乙個「換行」為止(從鍵盤輸入乙個字元,如果不是換行符就執行printf,在螢幕輸出); 同時,注意從終端鍵盤向計算機輸入時,是在按 enter 鍵以後才將一批資料一起送到記憶體緩衝區中去的。 使用getchar函式還應注意幾個問題: getchar函式只能接受單個字元,輸入數字也按字元處理。輸入多於乙個字元時,只 接收第乙個字元。 使用本函式前必須包含檔案「stdio.h」。 在tc螢幕下執行含本函式程式時,將退出tc 螢幕進入使用者螢幕等待使用者輸入。輸入 完畢再返回tc螢幕。 22樓:匿名使用者 要明白這個這個問題,首先要理解輸入緩衝的機制和scanf的原理。 當執行控制台程式的時候,會有乙個輸入緩衝區,這個緩衝區就是放置你輸入的字串的,無論你輸入的是數字還是字元,放到緩衝區裡都是字串,只有你呼叫scanf時指定不同的格式才會產生不同的含義。只有當你輸入回車的時候,才會把你的輸入新增到緩衝區裡,當輸入回車之前,scanf和getchar都還沒有呼叫。 當你呼叫scanf的時候,會首先檢查緩衝區是否還有內容,如果沒有則程式停止,接受輸入,當你輸入回車後,你的輸入進入緩衝區,然後scanf從緩衝區中拿出(拿出的意思是從緩衝區複製乙份放到變數裡,然後從緩衝區中刪除)它想要的字元,如果沒有它想要的,則不會從緩衝區中刪除任何東西,繼續執行。關鍵是什麼是它想要的,這就跟scanf的第乙個引數裡指定的格式有關了。 如果格式是%c,那麼任何字元都是它想要的,所以你第二個程式裡的第二個scanf("%c")會得到『+』後面的空格' '。如果格式是%d,則會忽略任何空白字元(空格、回車、製表符等),忽略的意思是,從緩衝區裡刪除,但並不儲存;如果遇到數字,則拿出並儲存給後面的整數,也就是說%d的時候,scanf想要的字元是數字和空白符。所以你第乙個程式裡的第二個scanf("%d")忽略掉了空格,正確輸入了數字。 23樓:匿名使用者 getchar不要也可以,建議不要,因為沒什麼意義; 你的程式中getchar執行了的,在輸入數字後按的那個enter鍵就執行了getchar(); 但我們一般編寫時都沒要。 scanf("%d/%d",&a,&b); 有一點小錯,應該把"/"刪除,改為 scanf("%d%d",&a,&b);或scanf("%d %d",&a,&b); 程式輸出才正確,否則無論你輸入什麼,輸出都為0,你可以試試 如果用實型變數x接收乙個數或通過計算得到乙個數後要知道它是不是整數,沒有很好的辦法。因為實數在計算機中不能準確地儲存,所以不能直接判斷兩個實型量 x,與表示整數的實型量,必須要同型別的量才能比較 是否相等,首先要明確能允許的誤差是多少。比如,一般情況當誤差的絕對值小於10的負8次方時我們可以認為兩個... include define m 3 define n 2 int main n return 0 abc 12 集合a a b c 集合b 1 2 速求!用c語言來實現兩個二元陣列的笛卡爾積!include include int main for i 0 i n i for i 0 i m i ... include int main 用createprocess 用法見msdn 以下迴圈開啟記事本 startupinfo startupinfo startupinfo.cb sizeof startupinfo process information process info for int i...怎樣用c語言判斷數是不是整數怎樣用C語言判斷乙個數是不是整數
怎樣用C語言編寫笛卡爾積,速求!用C語言來實現兩個二元陣列的笛卡爾積!
怎樣用c建立簡單程序怎樣用c建立乙個簡單程序