2017-04-07 108 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; 

我不知道爲什麼該環路從用戶需要10個輸入
甚至我編程它採取5個輸入 爲(X = 0; X < 5; X ++) { 的printf(「輸入一個號碼:」); 012fscanf(「%d」,& a [x]); } a [x] = 0; x = 0,i = 1; y = 0; z = a [x]; (a [x]) 如果(z> a [i]){z = a [y]; } else { z = a [i]; y = i; } x ++; i ++; } return(z); }

+2

請格式化您的代碼。目前它是無法讀取的。 –

+0

不可讀 - 修復壓痕,(我的意思,其實它縮進)。在函數之間添加一個空行。 – ThingyWotsit

+8

因爲你調用'greatest_number'功能*** *** 2倍? –

回答

3

在此代碼段函數greatest_number被調用兩次

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

第一呼叫是多餘的,其結果被丟棄。

而且似乎然後輸入的所有元素具有負值(除非有像我所理解的標記值的最後一個元素),那麼該函數將返回標記值。