【发布时间】:2010-02-25 13:06:54
【问题描述】:
我想连接一段文本,例如“答案是”与一个有符号整数,输出“数字是 42”。
我知道一段文本有多长(14 个字符),但我不知道数字的字符串表示形式会有多少个字符。
我假设最坏的情况,最大的有符号 16 位整数有 5 位,如果它是负数,再加一位,那么下面的代码是正确的方法吗?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *message;
message = malloc(14*sizeof(char)+(sizeof(int)*5)+1);
sprintf(message, "The answer is %d", 42);
puts(message);
free(message);
}
【问题讨论】:
标签: c memory-management malloc char concatenation