我好郁闷......
没人帮忙........
大哥,你终于出现了,非常感谢你的帮忙,再帮我看看这个函数:
void sort(int*p,int k) { int t,i,j ; for(i=0;i<k-1;i++) for(j=i+1;i<k;j++) if(p[i]>p[j]) { t=p[i]; p[i]=p[j]; p[j]=t ; } printf("After sort:\n"); for(i=0;i<k;i++) printf("%6d",p[i]); printf("\n"); return ; }
有问题吗,怎么无法排序,里面好象没有死循环啊,
怎么执行到这不不动了?
[此贴子已经被作者于2004-09-26 22:38:26编辑过]
还没搞懂?论坛上以前曾讨论过相似的问题。缓冲区残余信息造成的。
给你一例子:
int main() {
char c[80];
printf("1. gets():"); gets(c); printf(" c = %s\n",c);
printf("1. gets():"); gets(c); printf(" c = %s\n",c);
printf("2. scanf):"); scanf("%s",c); printf(" c = %s\n",c);
printf("2. gets():"); gets(c); printf(" c = %s\n",c);
}
考虑一下最后一个gets为什么不正常?
碰到这样的问题解决啊?