C問題 輸入數輸出較大數,C問題 輸入三個數輸出較大數

2022-03-09 00:05:10 字數 776 閱讀 4189

1樓:

問題出在主程式中第二個if前沒有else!把第二個if改成else if就可以了。

原因:第乙個if比較時123>23 && 123>34成立,所以s=123;然而,第二個if肯定是不成立的,所以就執行了else後面的語句s=y,使最大值s=23了。第二個if改為else if後執行就是唯一的了,三個判斷永遠只執行乙個……

另:最好不要用max做函式名,它是有些編譯器的保留字,遇到這樣的平台連編譯都通不過。要用些系統不會用的識別符號,如mymax、mymax,max3等等……

供參考……

2樓:

第二個if前加個else

#include"stdio.h"

main()

int max(int x,int y, int z)

3樓:

第乙個if語句沒有else,第二個語句的else有問題,有可能 s=y;

我把你的函式改了,就對了

int max(int x,int y, int z)

4樓:匿名使用者

因為else是和最近的if搭配的,以下是執行步驟:

第1步:因為x=123,y=23,z=34,所以s=123;

第2步:因為if表示式語句為假,所以不執行子語句s=z;

第3步:因為else與上面的if配套,而if的表示式語句為假,所以要執行else的語句s=y;

第4步:返回s;

因此最後是s=y=23。

C語言的輸入輸出,c語言是通過什麼來輸入輸出的?

char a a int b 20 printf d,d a b,b a a a a a 1 這個怎麼輸出,最好是有步驟的說,謝謝。輸出66,34 計算a 1 因為a a asicl碼值是65 此時a 66輸出 a b,b a 逗號表示式的返回值是最右邊的 而最右邊的是賦值式,它的值就是被賦值的結果...

C語言相關數問題,C語言相關數問題

include int main int temp,n,number 90 key printf 請輸 入這組數字的個數 scanf d n printf n請輸入這組數字,每行乙個 n for temp 0 temp相關數 scanf d key printf n相關數為 n for temp 0...

C語言問題,由鍵盤輸入字母,輸出其ASCII碼值

這是簡單的 include math.h void main 你可以隨便轉換大小寫 希望能解決你的問題 include int k void show void choose void main c語言的小問題 由鍵盤輸入乙個小寫英文本母,先輸出該字母及ascii碼值,然後輸出它的大寫字母及asci...