読者です 読者をやめる 読者になる 読者になる

未分類

移転しました。

mallocで取得したchar型メモリを、ふつうはどう初期化するのかよくわからん。

ので、sprintfで初期化しているのですが。

あー。先頭アドレスにnull文字\0を入れればいいのか・・。

*str = '\0';

みたいに。

自己解決。

あとは、sprintfでプリント先と同じものを引数に使っても動くみたい。

strcat代わりにできますね。

int main(){

char *str;

str = (char*)malloc(10);

sprintf(str,"");

sprintf(str,"%s %d", str,1);

sprintf(str, "%s %d", str ,2);

printf("%s",str);

return 0;

}

codepadでコードを試すとき、直打ちだとTABを入れにくいから、自然とタブ代わりに1スペースを入れるようになるなー。

gccで最適化オプションをつけたら、出力が変わるんですが・・・・・・・・・。

-O1から-O4までどれでも。

おいおい。

私のコードの書き方が悪いのか・・。