看板Programming
标 题一个非常简单的c程ꘊ发信站: HiNetNews (Sat May 24 09:08:23 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!newsfeed.berkeley.edu!ucberkeley!new
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
char *str1="abcd";
char *str2 = "1234"; //<-----
char *str3;
strcpy(str3,str1);
exit(0);
}
这程式在 cygwin 编译会过,但是执行时出错
如果;把 //<----- 这一行拿掉,执行时就不会出错
,而且结果如预期 str3 的值为abcd
在mingw 编译会过执行时出错
如果;把 //<----- 这一行拿掉,执行也出错
=======================================
str3 在使用前需要配置大小吗? 我看很多例子
都没有在使用前配置他的大小,究竟哪种才是
正确的?
上面实际的问题是gcc 版本的问题,还是mingw/cygwin
的问题?
1F:推 a1234957:我觉得不管怎麽样,都要是要配置空间218.173.113.124 05/24 02:14
2F:推 Huangs:当然要先配置 没有出错的话 只是运气好218.167.161.209 05/25 10:43