功能运行2次。

时间:2017-04-07 10:55:54

标签: c arrays algorithm

我制作了这个程序,代码成功编译后我认为该程序需要用户输入5个输入,但需要10个输入。

#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输入         for(x = 0; x <5; x ++)         {             printf(&#34;输入一个数字:&#34;);             scanf(&#34;%d&#34;,&amp; a [x]);         }         一[X] = 0;         x = 0,i = 1;         Y = 0;         Z = A [X];         而(一个[X])         {             如果(Z&gt;一种[1]){                 Z = A [Y];             } else {                 Z = A [1];                 Y = 1;             }             X ++;             我++;         }         返回(Z);        }

1 个答案:

答案 0 :(得分:3)

在此代码段中,函数greatest_number被调用两次

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

第一个呼叫是多余的,其结果将被丢弃。

此外,似乎所有输入的元素都有负值(除了最后一个元素,因为我已经理解了一个sentinel值),然后该函数将返回sentinel值。