c語言的問題

時間 2022-07-24 01:55:09

1樓:匿名使用者

>為什麼輸入2.5和1.5,輸出倒是2,但倒過來輸怎麼會得1你呼叫的是c=max(a,b),兩個引數; 定義的是max(float x,float y,float z);三個引數,雙方不一致.因此到函式max中取出的x,y根本不是你預想的a,b(一般這時候x=0,y不好說).

不信你可以在max函式中輸出x,y看看.

解決辦法:前面加max函式原型說明:int max(float,float); 以便編譯時雙方協調引數,避免錯誤:

int max(float,float);

void main()

int max(float x,float y)另外:

1. #include 根本沒用,沒有必要放在這裡.2. 如果沒有特殊要求,max()還是返回float為好.

2樓:

#include

void main()

float max(float x,float y,float z)這個正確

3樓:匿名使用者

因為你把它列印出來的資料型別是整型嗎.printf("max is %d\n",c);

4樓:匿名使用者

float c;

scanf("%f%f",&a,&b);

c=max(a,b);

printf("max is %f\n",c);

5樓:匿名使用者

c變數的型別啊 呵呵

c語言的問題,C語言問題?

魘傳說 這個 的作用就是利用do while將陣列算出來,然後利用for迴圈遍歷,倒序輸出陣列。我感覺很奇怪,devc 出來的結果是10010。我算出來的結果應該是00010,因為強轉int型別應該是取0的,而不是取1.然後我用c 試了多個數字,發現所有的結果都是以1開頭,至於為什麼我也不知道,希望...

c語言問題,C語言問題。

考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...

C語言問題,c語言問題?

自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...