我制作了这个程序,代码成功编译后我认为该程序需要用户输入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); }
答案 0 :(得分:3)
在此代码段中,函数greatest_number
被调用两次
greatest_number();
^^^^^^^^^^^^^^^^^
printf("Greatest number is %d", greatest_number());
^^^^^^^^^^^^^^^^^
第一个呼叫是多余的,其结果将被丢弃。
此外,似乎所有输入的元素都有负值(除了最后一个元素,因为我已经理解了一个sentinel值),然后该函数将返回sentinel值。