程序应该打印最小值和最大值但是我得到一些错误 垃圾值:/
这是代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void minMax(int arr[], int size, int* max, int* min);
int main()
{
int maximum, minimum, i;
int arr[5];
printf("Please enter 5 numbers: ");
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++);
{
scanf("%d", &arr[i]);
}
minMax(arr, sizeof(arr) / sizeof(arr[0]), &maximum, &minimum);
printf("Max is: %d \nMin is: %d", maximum, minimum);
return(0);
}
void minMax(int arr[], int size, int* max, int* min)
{
int i;
*max = *min = arr[0];
for (i = 1; i < size; i++)
{
if (*max < arr[i])
*max = arr[i];
if (*min > arr[i])
*min = arr[i];
}
printf("\n");
}
感谢您的帮助!
答案 0 :(得分:1)
for(i = 0; i < sizeof(arr) / sizeof(arr[0]); i++);
是合法的
它意味着与
相同for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{}
使用{和}将代码片段放在自己的块中也是合法的。这就是为什么你没有编译错误但没有得到你需要的输出