0

我有很多不同的方法来进行这种转换,但都失败了。我需要将 55 转换为字符串。

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    double time = 55;
    char *buffer = ""; //char *buffer; doesnt work either
    sprintf(buffer, "%d\n", time);//without newline doesnt work either
    printf("%s",buffer);
}
4

1 回答 1

0

您当前正在将不属于您的内存设置为"55\n". 您必须在堆栈上分配内存,然后可以使用以下代码进行修改(替换您的char *buffer = "";行):

char buffer[4] = { 0 };

这是为 a '5'、 a '5'、 a'\n'和 a创造足够的空间'\0'

于 2013-07-08T22:34:47.263 回答