C言語なら俺に聞け! Part 91
■ このスレッドは過去ログ倉庫に格納されています
0577デフォルトの名無しさん
NGNG{
foo に文字列などを入れる処理
}
main()
{
char buf[128];
hoge(buf);
printf("%s", buf);
}
このようなコードでbufのサイズが50のときはうまく表示、100の時は変な文字記号がまじる、
200の時はうまく表示、1000の時は変な文字記号が・・・の様なことがおこります。
悩んだ末、ふと static char buf[128]; のようにしたところ常にうまく表示されるようになりました。
staticで確保しないとメモリがアヒャヒャなことになるという結論に達したのですが、どうもすっきりしません。
これってプログラムを書く上で当たり前のことなのでしょうか?どなたかバッサリヤってください。
■ このスレッドは過去ログ倉庫に格納されています