想大家請教個問題,C語言的 20

2025-01-19 07:40:29 字數 1522 閱讀 8284

想大家請教個問題,c語言的

1樓:圖靈使者波比

小弟,這個程式出錯是正常的,首先你定義了乙個變數。而並沒有變數初始化,之後就去變數的位址,而且輸出的時候也有問題。%c是輸出那個字元用的。

t是取變數t位址。地質不是字元型別。所以輸出的時候出錯。

正確的做法應該是:先給變數初始化,例如:t=5;

#include

void main()

int t=5;

scanf("%d",&t);

printf("%d",t);

2樓:網友

我用了c++進行編譯是正確的,也可能是你的編譯器要求高吧,你把t進行了強制性轉換。這個在c++中接受了,不過在那裡就不一定了,我的程式是這樣的:

#include

main()

int t;

scanf("%c",&t);

printf("%c",t);

你用你的編譯下,你看會有什麼結果。這個程式的結果是不論你輸入字母還是數字都是以字元的形式輸出。

3樓:網友

這個程式也沒有什麼問題,就是沒有加標頭檔案而已。

#include

int main(void)

int t=5;

scanf("%c",&t);

printf("%d",t);

另外不要用void main(),嚴格來說這是錯誤的寫法。

當你用%c的格式控制輸入整型時,系統只將輸入的第一位的ascll碼,而後面的則存入快取中,你執行下面的程式試試。

#include

int main(void)

int t=5;

scanf("%c",&t);

printf("%d",t);

scanf("%d",&t);

printf("%d",t);

當你輸入2689時,然後回車,第一次輸出的是2的ascll碼,那50,第二次執行scanf時,由於快取中存在資料(689),所以會直接從快取中讀取資料,將其賦給變數t,而不會提示你輸入資料,然後執行printf,輸出t為689

4樓:亡靈龍殺手

c是表示char型別。

t是int型別。

比較嚴謹的編譯器是會報錯的。

5樓:網友

你沒有包含scanf的標頭檔案。

6樓:網友

main()

int t;

scanf("%d",&t);

是你程式問題。

c是字元型。

d才是整數形。

你的t定義為整數型,所以要用%d

7樓:網友

很可能你的程式真的有錯誤。你把錯誤資訊帖出來。

你的那幾行**顯然少了#include

8樓:網友

現在都用vc了。

要不你試試把%c換成%d看看。

C語言請教大家順序查詢的問題,C語言 請教大家一個順序查詢的問題

除了以上兩位說的以外,你的迴圈還有問題 while i n list i key 你的迴圈條件是list i key,即當list i key是執行迴圈既然list i key了,又怎麼可能有if key list j 對不?你輸入的數本身就是n個,所以不存在i n的條件,而且既然規定了總共就n個數...

C語言問題請教

選c 不知道對不對 呵呵 func2 int i 是函式呼叫 char st hello,friend 是字元陣列這個很難解釋 教材上有的 選c程式首先呼叫func1 i 輸出st 0 即h,然後判斷 i 0 3,執行i 2 i變成2,呼叫func2 i 輸出st 0 即l,然後判斷 i 2 3,執...

請教c語言輸入問題,請教一個c語言輸入問題

因為你向a輸入一個字元後 scanf c a 就是這個句子 要按一下回車,而回車也是字元,於是第二句 gets b 就把回車給吃進去了 也就是你說的 0 然後程式就執行到gets c 這一句了。記著,回車也是字元就是了。ps c語言很萌的。gets 從標準輸入流中讀取字串,直至接受到換行符或eof時...