#include<stdio.h> int main() { int n,m,i; int a[10],*p,*q; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0 && m==0) break; for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(p=a;*p!='\0';p++) { if(*p>m) break; } q=p; for(p=a+n;p>=q;p--) { *p=*(p-1); } *q=m; for(i=0;i<=n;i++) printf("%d ",a[i]); } return 0; } 为什么会运行错误50%呢?