用C语言计算输出一维数组的结果?

时间:2018-10-19 15:57:50

标签: c

我是stackoverflow的新手。当我尝试用C语言编写一个程序时会遇到问题,该程序将通过使用函数在一维数组中打印出最大的元素。我决定以多种方式打印出我的元素。我尝试将“ printf”放入“ checkmax”函数中的“ main”函数中,并创建一个函数 “ printmax”仅用于打印我的元素,但这些方式似乎都无法正常工作。我需要一些帮助。

nlp_en

2 个答案:

答案 0 :(得分:0)

您在for循环中未声明i。 另外,此for(i=0;i<n;i++);表示您由于末尾的分号而产生了一个空的for循环。如果您解决了这些问题,那应该没事。

例如

for(int i=0;i<n;i++) {
    if(a[i]>max) max=a[i];
}

答案 1 :(得分:0)

我们应该解决一些错误。

首先,您尝试将局部变量用作全局变量。例如。在max中本地定义时,尝试在printmax()中使用checkmax()

第二,由于结尾处的分号,您的for循环无效。还要确保执行int i = 0而不是i = 0,因为在进入循环之前没有声明i

第三,如果在调用printf()时遇到错误,则应确保在文件顶部包含stdio.h#include <stdio.h>

printf()中的checkmax()也必须在之前 return max;

解决方案:

删除函数中的maxan声明,而是在文件顶部声明它们,

#include <stdio.h>

int max = 0, n = 0;
int a[] = {0};
...

修复for循环,

for(int i = 0; i < n; i++){
    ...
}

并删除printmax()。该功能无用,因为您在max中打印了checkmax()