最近做实验,用到strcpy()较多,经常出现段错误很是气人,就开始怀疑那些搜到的资料有点小问题,
以下是我的测试结果:
char *a, *b;
char m[5],n[5];
char x[5][5],y[5][5];
strcpy( a , b ) 出现段错误;
strcpy( a , x[3] ) 出现段错误;
strcpy( a , m ) 出现段错误;
strcpy( x[3] , b ) 没问题;
strcpy( x[3] , y[2] ) 没问题;
strcpy( m , n ) 没问题;
对char *赋值
a=b 没问题;
a=m 没问题;
a=x[2] 没问题;
m=a 错误;
x[2]=a 错误;
总结: strcpy的第一个参数为char *时出现段错误
#include
#include
char main()
{
char *string;char*stri="fdfssds";
char a[5][9]/*={"dsf","sff","fd","22"}*/;
char input[8]/* = "wo:you"*/;
char str[10];
//string="ddd";
//sprintf(str[3],"%s",a[2]);
//strcpy(str[3],stri);
//strcpy(string,a[2]);
//printf("%s\n",a[2]);
//strcpy(string,a[1]);
//strcpy(string,stri);
string=stri;
printf("%s\n",string);
//while(1){continue;}
return;
}
阅读(2350) | 评论(0) | 转发(0) |