c語言問題輸出結果總是負數求教,C語言問題,輸出結果總是負數,求教

2021-04-20 02:00:00 字數 665 閱讀 4859

1樓:匿名使用者

在你的switch語句最後都加一個default:看一下switch(d)

switch(u)

如果出現error這行,說明你的fflush()沒有起作用,改正方法是在scanf()函式後,加一個getchar();

如果沒有出現,把你的輸入資訊粘出來,即x d u都是什麼。再幫你看

2樓:匿名使用者

這個問題有多種可能,不一而足。

演算法有錯誤,最終計算結果是負數。輸出自然會是負數。

例如:int a=1;

int b=a-2;

printf("b=%d",b);

//輸出結果:b=-1

超過變數型別的最大取值範圍,發生溢位。

例如turbo c裡int是16位,取值範圍-32768~32767。如果計算過程當中,數值超過32767,由於補碼的關係。結果就有可能是負數。

這種情況,就需要使用取值範圍更大的資料型別。

例程:#include

void main()

//輸出結果:a=32767,b=-32768

3樓:匿名使用者

溢位了,把資料型別定大一些

一道c語言題,為什麼輸出的結果為負數?

c語言問題,為什麼會輸出負數,C語言問題,輸出結果總是負數,求教

在你的switch語句最後都加一個default 看一下switch d switch u 如果出現error這行,說明你的fflush 沒有起作用,改正方法是在scanf 函式後,加一個getchar 如果沒有出現,把你的輸入資訊粘出來,即x d u都是什麼。再幫你看 這個問題有多種可能,不一而足...

c語言問題,為什麼無論輸入什麼結果輸出的X1 0,X

這樣du改 include include void main else printf 此一元二次方程的解為虛根 x1 b sqrt d 2 a x2 b sqrt d 2 a 中 b應該是來 自 1 b 然後把printf 此一元二次方程 的解為 nx1 lf,x2 lf x1,x2 中的 去了而...

c語言問題求教 關於指標變數問題

你不知道為什麼會這樣?其實,這個也很好理解的。因為你的p是指向int型資料的,而int型資料在你的編譯器中佔用的是4個位元組,所以你的結果才是 2,而不是 8.就拿你這個程式來說吧。p指向的是記憶體單元1638212。但是p 1指向的確實1638212 4.而不是1638212 1.這是由你的資料型...