总结:1、在if判断语句中,一定不要范等于用=表示的错误,==才是判断等于,=是单纯的复制语句。
2、良好的程序设计习惯:为了使程序具有良好的可读性并减少出错,凡不要求返回值的函数都定义为空类型,即使幻术类型为整形,也不使用系统的默认处理。
3、对于函数调用这块我的领悟是,main函数是主函数,任何代码从main函数开始看,不论是主函数还是被调用函数,本函数中的变量值使用于本函数,只有形参和实参是两个不同函数之前可以传递的,其他的不能传递,别想着在这个函数中运行的结果会自动保存在另一个函数中,不可以,要输出的结果在对应的函数中就输出,不要等到main函数中最后才输出。在本题中,我之前将最大最小的输出都放在main函数中,但是最后最大最小函数是应该定义为有返回还是没有返回呢,没有返回的话,main函数中得不到结果,有返回的话,返回最大还是最小,每次只能返回一个,这和时候就犯难了,最后决定为什么要返回呢,我在最大最小函数中既然得出了结果,我直接在那里printf不就行了。对,这样问题就解决了。
代码:实现输入的四个数字找出最大最小并指出位置信息
#include <stdio.h>
#define N 10
void input (int array_b[N])
{
int i;
printf("请输入%d个整数:",N);
for(i=0;i<N;i++)
{
scanf("%d",&array_b[i]);
}
}
void maxmin(int array_b[N])
{
int i,maxmum,minmum,j,m,n;
maxmum=array_b[0];
minmum=array_b[0];
for(i=1;i<N;i++)
{
if(array_b[i]>maxmum)
maxmum=array_b[i];
if(array_b[i]<minmum)
minmum=array_b[i];
}
printf("maxmum=%d\n",maxmum);
printf("minmum=%d\n",minmum);
for(i=0;i<N;i++)
{
if(maxmum==array_b[i])
m=i+1;
if(minmum==array_b[i])
n=i+1;
}
printf("最大值的下标:%4d\n",m);
printf("最小值的下标:%4d\n",n);
}
int main()
{
int array_a[N],maxmum,minmum,i,m,n;
input(array_a);
maxmin(array_a);
return 0;
}