2017-04-07 2 views
-4

私はこのプログラムを作成しました。コードは正常にコンパイルされました。プログラムはユーザーから5つの入力を受け取りますが、10の入力が必要です。機能は2回実行されますか?

#include <stdio.h> 
int greatest_number(); 
int main() 
{ 
    greatest_number(); 
    printf("Greatest number is %d", greatest_number()); 
    return(0); 
} 

int greatest_number() 
{ 
    int a[6], x, i, z, y; 

このループでも、私は5つの入力の 取るために、それをプログラムし、ユーザ
から10個の入力を受け取り、なぜ私にはわからない(X = 0; X < 5; X ++) { のprintf( "入力します。数:"); scanf( "%d"、& a [x]); } a [x] = 0;x = 0、i = 1; y = 0; z = a [x];while(a [x]) { if(z> a [i]){ z = a [y]; } else { z = a [i]; y = i; } x ++; i ++; } return(z); }このコードで

+2

コードをフォーマットしてください。現在読めません。 –

+0

読み込み不可能 - インデントを修正します(実際にインデントしたことを意味します)。関数間に空白行を追加する。 – ThingyWotsit

+8

あなたは 'most_number'関数***を2回呼び出すので***? –

答えて

3

関数greatest_numberが呼び出されたスニペット倍

greatest_number(); 
^^^^^^^^^^^^^^^^^ 
printf("Greatest number is %d", greatest_number()); 
           ^^^^^^^^^^^^^^^^^ 

最初の呼び出しは、冗長であり、その結果は破棄されます。

また、入力された要素のすべてが負の値を持つように見えます(最後の要素は、センチネルの値を理解しているためです)、関数はセンチネル値を返します。

関連する問題