C++ strcpy
voidTest(void){char*str=NULL;strcpy(str,“helloworld”);printf(str);}为什么出错啊str为什么不能是NUL...
void Test(void)
{
char *str = NULL;
strcpy(str, “hello world”);
printf(str);
}
为什么出错啊 str为什么不能是NULL 展开
{
char *str = NULL;
strcpy(str, “hello world”);
printf(str);
}
为什么出错啊 str为什么不能是NULL 展开
展开全部
char *str; 是指针,你未让它指向某char 数组,也未给它分配字符串存放单元。所以不能使用。
小程序:
char *str; // 不初始化为 NULL
strcpy(str, “hello world”);
printf(str);
可以正确运行。程序大了就不一定能行。
这样可以:
char s[20];
char *str=NULL;
str =s; // 让它指向s
strcpy(str, "hello world");
printf(str);
这样可以:
char *str=NULL;
str = (char *) malloc(20); // 分配单元
strcpy(str, "hello world");
printf(str);
小程序:
char *str; // 不初始化为 NULL
strcpy(str, “hello world”);
printf(str);
可以正确运行。程序大了就不一定能行。
这样可以:
char s[20];
char *str=NULL;
str =s; // 让它指向s
strcpy(str, "hello world");
printf(str);
这样可以:
char *str=NULL;
str = (char *) malloc(20); // 分配单元
strcpy(str, "hello world");
printf(str);
展开全部
str被你弄成了空,你能把字符串放到一个没有地址的地方?
你得定义一个字符串数组。当然这个数组就是个指针
你得定义一个字符串数组。当然这个数组就是个指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该不是这个问题吧,“hello world“是一个字符串,而你定义的str是一个字符变量,你应该定义成string str才行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询