我是stackoverflow的新手。当我尝试用C语言编写一个程序时会遇到问题,该程序将通过使用函数在一维数组中打印出最大的元素。我决定以多种方式打印出我的元素。我尝试将“ printf”放入“ checkmax”函数中的“ main”函数中,并创建一个函数 “ printmax”仅用于打印我的元素,但这些方式似乎都无法正常工作。我需要一些帮助。
nlp_en
答案 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;
)
解决方案:
删除函数中的max
,a
和n
声明,而是在文件顶部声明它们,
#include <stdio.h>
int max = 0, n = 0;
int a[] = {0};
...
修复for
循环,
for(int i = 0; i < n; i++){
...
}
并删除printmax()
。该功能无用,因为您在max
中打印了checkmax()
。