我在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