代码如下:
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)的地方。
请各位帮忙给看看。