C 语言的一道改错题目 题目说有 4 个错误,前 3 个错误不管他 主要是第四个
编程输入 10 个数,找出其中的最大值及其所在的数组下标位置。(4 个错误)
int FindMax(int num[], int n, int *pMaxPos);
main()
{
int num[10], maxValue, maxPos, minValue, minPos, i;
printf("Input 10 numbers:\n ");
for (i=0; i<10; i++)
{
scanf("%d", num[i]); //加取地址符号
}
maxValue = FindMax(num, 10, maxPos); //加取地址符号
printf("Max=%d, Position=%d\n",maxValue, maxPos);
}
int FindMax(int num[], int n, int pMaxPos); //去掉分号
{
int i, max;
max = num[0];
/*主要是这第四个错误 老师说要增加初始化语句*pMaxPos=0 说是逻辑上的错误,这个时候不加这一条语句程序已能正常运行并实现功能
我只想知道这个真的算一个错误吗?/
for (i = 1; i < n; i++)
{
if (num[i] > max)
{
max = num[i];
*pMaxPos = i;
}
}
return max;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.