注册 登录
编程论坛 新人交流区

请教程序问题。。。急、、、、

mondayandff 发布于 2008-03-31 19:43, 1047 次点击
#include "stdio.h"
#include <string.h>
void main()
{int n,i,t,j=0,s=0;
 char str[20][20],a[19];
 scanf("%d\n",&n);
 for(i=0;i<n;i++)
  gets(str[i]);
 for(t=0;t<=n;t++)
 {for(j=0;j<n-1;j++)
  {if(strcmp(str[j],str[j+1])>0)
   {strcpy(a[19],str[j+1]);
   strcpy(str[j+1],str[j]);
   strcpy(str[j],a[19]);}} }
  for(s=0;s<n;s++)
  printf("%s\n",str[s]);}
麻烦看一下这个程序,总有警告: Non-portable pointer conversion in function main出现,运行时会有RE,错误在哪里?
2 回复
#2
now2008-03-31 21:33
strcpy(a[19],str[j+1]);->strcpy(a,str[j+1]);注意:a[19]不是一个地址;
strcpy(str[j],a[19]);->strcpy(str[j],a);
原型:
strcpy(char*target,const char*source);
#3
rediums2008-03-31 21:42
int scanf( const char *format, ... );
char *gets( char *str );
char *strcpy( char *to, const char *from );
??是谁教的你函数这样用??
1