【发布时间】:2013-04-02 09:04:24
【问题描述】:
这是我在 C 中的代码 sn-p:
char *str = NULL;
int len = -1;
// Get length
len = snprintf(NULL, 0, "[%d]", 2);
// Allocate str
str = (char *)malloc(len + 1);
// Assign str
snprintf(str, len, "[%d]", 2);
assert(len == 3);
// Display str
puts(str);
我希望这应该显示[2]。 len 这里是 3。
但是运行这段代码只显示[2
为什么会这样?
【问题讨论】:
标签: c format-specifiers