为什么scanf语句不执行?求指教!
#include<stdio.h>#include<string.h>
void paixu(int a[10],int *p);
int main()
{
int i,k;
int stu[10];
int *p;
char string1[100],string2[100];
char *t;
p=stu;
for(i=0;i<10;i++)
{
scanf("%d",(p+i));
}
printf("the scores:\n");
for(p=stu;p<(stu+10);p++)
{
printf("%d ",*p);
}
printf("\n");
t=string1;
printf("输入student score\n");
for(i=0;i<100;i++)
{
scanf("%c",(t+i));/* 这一句为什么不执行?*/
if(*(t+i)=='\n')
{k=i;break;}
}
strncpy(string2,string1,k);
puts(string2);
paixu( stu, p);
for(p=stu;p<(stu+10);p++)
{
printf("%d\n",*p);
}
return 0;
}
void paixu(int a[10],int *p)
{
int i,j;
int x;
for(j=0;j<9;j++)
for(p=&a[0],i=0;i<9-j;i++)
{
if(a[i]<a[i+1])
{
x=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=x;
}
}
}