数组元素大小比较中遇到空字符

来源:百度知道 编辑:UC知道 时间:2024/05/15 10:44:35
在做数组元素的最小值输出时总是0,不知道是不是因为数组中有空字符的原因,如果是的话,怎么解决?
谢谢各位,之前的代码改到过,现在的情况是这样的,请各位指点
int a_min(int array[],int n)
{
int i;
int min = array[0];

for(i = 0 ; i < n;i++){
if(array[i] < min)
min = array[i];
}
return (min);
}

int main(int argc, char** argv)
{
int extent_b[7];//①最多的时候只有6个元素
……
for(ll = 1,ii = 1;ll <= 7,ii <= 12;ll++,ii++){
Area_Blur(ii,false);
blur = int (Blur_Analysis(ii,0.30,0.70));
if (ii < 4 || (ii >= 10 && ii <=12 )){
if (blur > 0 && blur < 100){
tt++;
blur_sum += blur;
extent_b[ll] = blur;
printf("%d\n",extent_b[ll]);//②正确输出所得的数据 例25,79,29,81,32
}
}
}
min = a_min(extent_b,tt);
printf("min = %d\n",min);//③输出所得最小值为2,正确值应该是25
//④如果把extent_b[ll]里的元素再输入一

我看了一下你的程序 发的不全
for(ll = 1,ii = 1;ll <= 7,ii <= 12;ll++,ii++){
Area_Blur(ii,false);
blur = int (Blur_Analysis(ii,0.30,0.70));
if (ii < 4 || (ii >= 10 && ii <=12 )){
if (blur > 0 && blur < 100){
tt++;
blur_sum += blur;
extent_b[ll] = blur;
printf("%d\n",extent_b[ll]);//②正确输出所得的数据 例25,79,29,81,32
}
}
}
但是 看这里 在FOR循环下面有个判断 也就是说 数组extent_b[ll]的值并不是你想的那样 是从0-7付值的 而是满足判断条件才进行付值 而你的第一次输出也是满足条件才输出 后面的输出却是从0-7 所以导致得不到你想要的结果

你所编写的代码是什么,你八你的代码放在你的备注里面或者放到网上别人看了才能给出你一个准确的答案,对不对?

还有可能是 存最小值 的那个变量 没有初始化 或者 初始化不正确,应该吧数组元素的第一个值 赋给他。如果不行建议楼主把 程序发出来