c语言 vs 2022 无法正确得出结果 要求使用函数和指针将十个数排大小,指针变量作为函数传递值
int main()
{
void compare(int *p);
int i = 0;
int a[10];
int* p1;
p1 = a;
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
printf("\n");
compare(p1);
return 0;
}
void compare(int *p)
{
int j = 0, i = 0,t=0;
for (i = 1; i < 10; i++)//冒泡排序
for (j = 0; j <= 9-i; j++)
{
if (*(p + j) < *(p + j + 1))//不知道是不是这样表示
{
t = *(p + j);
*(p + j) = *(p + j +1) ;
*(p + j + 1) = t;
}
}
printf("%d", *(p+10));//打印第十个数
}
输入1-10,函数中打印第十个数出错
尝试打印第10个数验证结果(不知道怎么打印)
正确打印第十个数
第十个元素是*(p+9),所以输出应该是printf("%d",*(p+9))