关于指针的一个问题
我写了一个程序:输入10个学生的名字和分数,然后经排序将10个同学的姓名及分数按从大到小的顺序输出,用指针做的,但结果不对,求解释,帮忙指一下错误~#include "stdio.h"
void main()
{
char a[10][20],*p,c;
int b[10],i,j,k,t;
int *q;
printf("enter name and score:\n");
for(i=0;i<10;i++)
{
scanf("%s\n%d",a[i],&b[i]);
}
p=a[0];
q=&b[0];
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(*q>*(q+1))
{
t=*q;
*q=*(q+1);
*(q+1)=t;
q++;
for(k=0;k<20;k++)
{
c=*p;
*p=*(p+20);
*(p+20)=c;
p++;
}
}
}
for(i=0;i<10;i++)
printf("%s,%d\n",a[i],b[i]);
}