为了账号安全,请及时绑定邮箱和手机立即绑定

为何最小值永远是0

为何最小值永远是0

C C++
程乎乎 2016-10-13 16:55:25
#include<stdio.h>void minmax(int a[],int len,int *max,int *min);int main(void){ int a[10]; int max,min,j; for(j=1;j<=10;j++) { scanf("%d",&a[j]); } minmax(a,sizeof(a)/sizeof(a[0]),&max,&min); printf("max=%d,min=%d",max,min);} void minmax(int a[],int len,int *max,int *min){ int i; *max=*min=a[0]; for(i=1;i<len;i++) { if(a[i]>*max) { *max=a[i];  }  if(*min>a[i]) { *min=a[i]; } } } 
查看完整描述

3 回答

已采纳
?
皓韵儿

TA贡献86条经验 获得超114个赞

你在输入的时候是从下标1开始输入的,a[0]是没有的,但是后来你在比较时又给*max=*min=a[0]; ,所以肯定会出错,

要么你把输入时从0开始,要么你 *max=*min=a[1];  是a[1];  有什么问题可以再问我。

查看完整回答
3 反对 回复 2016-10-13
?
我是王先森灬

TA贡献3条经验 获得超1个赞


1、全程无赋值

2、所有循环都应该从0开始

查看完整回答
1 反对 回复 2016-10-13
?
程乎乎

TA贡献2条经验 获得超1个赞

j应该初始值为0

查看完整回答
1 反对 回复 2016-10-13
  • 3 回答
  • 0 关注
  • 1826 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信