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 };

これは'5'、 a '5'、 a '\n'、および aのための十分なスペースを作成するため'\0'です。

于 2013-07-08T22:34:47.263 に答える