【发布时间】:2020-06-21 18:43:29
【问题描述】:
我知道我必须使用 strcpy / strncpy 将新的字符串值分配给现有的 char 数组。最近看到很多这样的代码
char arr[128] = "\0";
sprintf(arr, "Hello World"); // only string constants no variable input
// or
sprintf(arr, "%s", "Hello World");
两种变体给出相同的结果。后一种变体有什么优势?
【问题讨论】:
-
2 Q 在这里:“最佳方法.....”以及两种方法之间的差异。这里哪个问题更重要?
-
很确定代码是由一个新手编写的,你不应该效仿他的例子。赠品是字符串
"\0",它表明作者不了解字符串在 C 中的工作原理。