输入十个数,用指针来输出最大数和最小数
有没有大佬帮看下为什么最大数输出的总是最后一个数,里面也有判断啊#include <stdio.h>
int max, min;
void bidaxiao(int* array, int n);
int main()
{
int i, number;
printf("ebter 10 integer umbers:\n");
for (i = 0; i < 10; i++)
{
scanf_s("%d", &number);
}
bidaxiao(number, 10);
printf("\nmax=%d,min=%d\n", max, min);
}
void bidaxiao(int* array, int n)
{
int* p1,i;
p1 = array;
min = (*p1);
max = (*p1);
for (i = 0; i < n; i++)
{
if ((*p1) > max);
{
max = (*p1);
}
if ((*p1) < min)
{
min = (*p1);
}
p1++;
}
} for (i = 0; i < n; i++)
{
if ((*p1) > max);
这里多了个分号,去掉分号结果就正常了。正确代码:
#include <stdio.h>
int max, min;
void bidaxiao(int *array, int n);
int main()
{
int i, number;
printf("ebter 10 integer umbers:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &number);
}
bidaxiao(number, 10);
printf("\nmax=%d,min=%d\n", max, min);
}
void bidaxiao(int *array, int n)
{
int *p1, i;
p1 = array;
min = (*p1);
max = (*p1);
for (i = 0; i < n; i++)
{
if ((*p1) > max)
{
max = (*p1);
}
if ((*p1) < min)
{
min = (*p1);
}
p1++;
}
} if ((*p1) > max);这一行多了个分号 zltzlt 发表于 2020-7-29 13:27
for (i = 0; i < n; i++)
{
if ((*p1) > max);
谢谢提醒,我自己看半天没看出来
页:
[1]