#include <stdlib.h>
#include <stdio.h>
int main()
{
static char* buf;
buf = (char*)malloc(20*sizeof(char));
scanf("%s",buf);
while(buf[0] != NULL)
printf("\n%s\n",buf++);
free(buf);
buf=NULL;
system("pause");
return 0;
}
実行時のメッセージボックス free(buf):
Windows は、clean_rough_draft.exe でブレークポイントをトリガーしました。
これは、ヒープの破損が原因である可能性があります。これは、clean_rough_draft.exe または読み込まれた DLL のバグを示しています。
これは、clean_rough_draft.exe にフォーカスがあるときにユーザーが F12 キーを押したことが原因である可能性もあります。
出力ウィンドウには、より多くの診断情報が表示される場合があります。
どういう理由ですか?リークなしでメモリを解放したいだけです...