我在C中玩弄strncpy,並遇到一些麻煩。不兼容的格式類型
的代碼如下:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char src[] = "Benjamin Franklin";
char dest[5];
strncpy(src, dest, sizeof(dest)/sizeof(char));
dest[5] = '\0';
printf("%s\n", dest);
return 0;
}
與使用沒有錯誤編譯:
gcc -Wall -g -Werror test.c -o test
,並打印出亂碼像
p4��
我真的不能明白我特別是因爲我玩了很多東西,並一直在網上尋找答案。也許因爲我使用數組,我將地址傳遞給printf而沒有意識到它?
+1我正要給出相同的答案2秒晚:) –
什麼是失敗的我。多謝你們!!! – nebffa