c語言求數最大的值這樣編為啥不對

2022-02-08 01:19:59 字數 1692 閱讀 6835

1樓:光亮青劍

以改正完畢  函式中k未定義,scanf多寫個「號int max(int x,int y,int z);

int main()

int max(int x,int y,int z){int max=-128;

if(max

2樓:匿名使用者

很明顯,子函式中max沒有定義

你不要說是函式名啊

子函式這麼寫吧

int k=x;

if(k

if(k

return k;

3樓:匿名使用者

因為函式裡沒有定義max這個變數,

所以在max函式裡的max不是一個準確的概念,它和x比較是錯誤的。

另,在main函式裡面宣告函式 int max(int x,int y,int z);不是錯誤,只是看的不舒服,一般譚浩強的書會這麼寫,而老外的書都會拿到最外面main前面宣告。

int max函式可以改為

return x>=y?(x>=z?(x):(z)):(y>=z?(y):(z));

這裡削微賣弄了一下,不要見笑,按邏輯正常比也可以。

4樓:匿名使用者

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

5樓:

scanf("%d,%d,%d",&a,&b,&c");

這句多加了個冒號,改成

scanf("%d,%d,%d",&a,&b,&c);

return(k) 未加 「分號」

函式中的max是什麼東西,沒有定義;

6樓:匿名使用者

max是什麼?是函式。max函式中的max變數沒宣告,且無必要使用,int k;

if(x < y) //x和y中最大值賦給kk = y;

else

k = x;

if(k < z) //k和z比較,k取最大值k = z;

return k; //返回最大值k

7樓:匿名使用者

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

8樓:匿名使用者

把 int main{}裡面的int max(int x,int y,int z);放到#include<>下面

c語言中求三個數最大值遇到的問題 5

9樓:匿名使用者

第二個程式

a>max?a:max=(b>c?b:c)先執行a>max,這時max是沒有賦值的,a>max的結果不確定,因此整個表示式的值不確定

第一個程式

max=a>(max=(b>c?b:c))?

a:max優先執行括號裡的式子,max=(b>c?b:

c) ,max為b和c中的較大者,max有了確定值,然後執行max=a>max?a:max max為a和max中較大者,所以最後max是三者中最大的

10樓:匿名使用者

條件運算子的運算是先判斷表示式1。

第二幅圖裡,先判斷表示式1,即"a>max?",,但此時max還未被賦值,所以結果不對。

第一幅圖裡,max在和a比較之前,已經被正確賦值了,所以結果正確。

c語言求數中的最大者不知道哪裡出問題

scanf d,d.d x,y,z 這裡面一個逗號,一個.是不是輸入錯誤了。如果你直接1,2,3 得到的就是2 但是你 1,2.3就是正確的3了 補充 1 你的max函式邏輯以及if else用法是對的,雖然有點繞。當然你最好新增大括號來讓 更清晰。2 main函式返回值int確實才是標準的。以下是...

求c語言自定義函式並求數的絕對值

include float getabs float in return in int main int myabs int x c語言中有沒有求絕對值的函式啊?謝謝 有。c語言求絕對值的函式為abs x 與fbs x abs x 包含於stdlib.h,且兩者均包含於math標頭檔案之下。1 ab...

用C語言,任意輸入數,求其中的最大值和最小值

程式原始碼如下 include pch.h define crt secure no warnings include int main else while loop 0 printf 輸入的10個數中,最大數 d t最小數 d n max,min 輸出最值 return 0 程式執行結果如下 擴...