你最甜啦 2020-11-15 23:24 采纳率: 66.7%
浏览 4
已结题

为什么小程序最后结果很奇怪?

程序目的是希望找到 10 个数中最大的那个

主函数主要录入数字和调用 max_min 函数还有输出结果
max_min 函数用指针来筛选数组中的最大最小值

具体程序如下:

# include <stdio.h>

# define N 10

void max_min (int a[], int n, int *max, int *min)
{
  int i;

  *max = a[0];
  *min = a[0];

  for (i = 1; i < n; i++) {
    *max = (*max <= a[i] ? a[i] : *max);
    *min = (*min <= a[i] ? *min : a[i]);
  }
}

int main (void)
{
  int i, a[N], big, small;

  printf("\n\t Enter %d numbers. ", N);
  for (i = 0; i < N; i++) {
    scanf("%d", &a[i]);
  }

  max_min(a, N, &big, &small);

  printf("\n\t the biggest number is: %d", big);
  printf("\n\t the smallest number is: %d", small);

  printf("\n\n");
  return 0;
}

 

程序输出结果:

Enter 10 numbers. 1,2,3,4,5,6,7,8,9,0
the biggest number is: 4199136
the smallest number is: -650977440

 

为什么会这样?还请不吝赐教!谢谢

  • 写回答

1条回答 默认 最新

  • 智者知已应修善业 2020-11-16 09:14
    关注

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日