0
我已经制作了这个小程序来测试一个更大程序的一小部分。我不明白这个小程序的结果
int main()
{
char c[]="ddddddddddddd";
char *g= malloc(4*sizeof(char));
*g=NULL;
strcpy (g,c);
printf("Hello world %s!\n",g);
return 0;
}
我预计该函数将返回的“Hello World DDDD”,因为G的长度为4 *的sizeof(char)的,但它返回的“Hello World ddddddddddddd”。可你解释我在哪里,我错了?
如果我使用for循环,willi会得到相同的错误结果? – 2015-03-03 03:34:05
@CorneilleK,它取决于什么控制'for'循环。如果它是'c'的'strlen()',那么你会遇到同样的问题,是的。根据我的更新还有其他方法。 – paxdiablo 2015-03-03 03:35:27