C语言问题 求高手解答!!
#include<stdio.h>voidsortd(int*a,intn){int*p,*q,*maxp,t;for(p=a;p<a+n-1;p++){maxp=p;f...
#include<stdio.h>
void sortd(int *a,int n)
{
int *p,*q,*maxp,t;
for(p=a;p<a+n-1;p++)
{
maxp=p;
for(q=p+1;q<a+n;q++)
if(*q>*maxp) maxp=p;
if(maxp!=p) {t=*p;*p=*maxp;*maxp=t; }
}
}
main()
{
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",a+i);
sortd(a,10);
for(i=0;i<10;i++)
printf("%d\t",*(a+i));
printf("\n");
}
为什么在我输入10个数字以后这个程序就把输入的数字打印了出来?
为什么sortd函数没有作用 展开
void sortd(int *a,int n)
{
int *p,*q,*maxp,t;
for(p=a;p<a+n-1;p++)
{
maxp=p;
for(q=p+1;q<a+n;q++)
if(*q>*maxp) maxp=p;
if(maxp!=p) {t=*p;*p=*maxp;*maxp=t; }
}
}
main()
{
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",a+i);
sortd(a,10);
for(i=0;i<10;i++)
printf("%d\t",*(a+i));
printf("\n");
}
为什么在我输入10个数字以后这个程序就把输入的数字打印了出来?
为什么sortd函数没有作用 展开
3个回答
2018-08-12 · 知道合伙人软件行家
关注
展开全部
把自定义函数sortd中的if(*q>*maxp) maxp=p;改成if(*q>*maxp) maxp=q;。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个for循环不用括号?
追答
首先你的a是一个数组,赋值的时候要规范
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询