C语言:题目:将n个数按输入时顺序的逆序排列,用函数实现(用指针)。 我这个函数为什么有问题啊
#include<stdio.h>#include<string.h>voidf(inta[],intn){int*p=a,i,b[20];for(i=0;i<n;i++...
#include<stdio.h>#include<string.h>void f(int a[],int n){int *p=a,i,b[20];for(i=0;i<n;i++){b[i]=*(p+(n-1));n--;}printf("\nafter rank:\n");for(i=0;i<n;i++)printf("%d",b[i]);}int main(){int a[20];int i=0,n;printf("intput how many numbers you want:");scanf("%d",&n);printf("\n");printf("input the numbers:\n");for(i=0;i<n;i++)scanf("%d",&a[i]);f(a,n);}
展开
5个回答
展开全部
你的n变了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i = 0; i < n; i++)
{
b[i] = *(p + n - 1 -i)
}
试试这个
{
b[i] = *(p + n - 1 -i)
}
试试这个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
void f(int a[],int n)
{ int *p=a,i,b[20];
for(i=0; i<n; i++)
{ b[i]=*(p+(n-1)-i);
}
printf("\nafter rank:\n");
for(i=0; i<n; i++)
printf("%d ",b[i]);
}
int main()
{ int a[20];
int i=0,n;
printf("intput how many numbers you want:");
scanf("%d",&n);
printf("\n");
printf("input the numbers:\n");
for(i=0; i<n; i++)
scanf("%d",&a[i]);
f(a,n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询