代码如下:
char a[5];
char b[5];
printf("point a=%d\n",&a);
printf("point b=%d\n",&b);
memset(a,0x00,sizeof(a));
memset(b,0x00,sizeof(b));
char * tmp1="123456789";
char * tmp2="abcde";
strcpy(a,tmp1);
strcpy(b,tmp2);
printf("point a=%d,a=%s\n",&a,a);
printf("point b=%d,b=%s\n",&b,b);
该代码在window上执行成功的。gcc版本:gcc version 3.4.2 (mingw-special)
在ubuntu上执行报段错误,gcc版本:gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
ubuntu版本:Linux ubuntu 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
其中在ubuntu上执行报错的是在第二个strcpy(b,tmp2)的地方。
请各位帮忙给看看。