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