次のプログラムは重大な誤りを含んでいます。環境や状況によっては正常に動作しているように見えることがあるため、発見が遅れがちな誤りです。わかりますか?
#include <stdlib.h> #include <string.h> void func(void) { const char *pc1 = "abcdefg"; char *pc2 = (char *)malloc( strlen(pc1) ); if ( pc2 ) { strcpy( pc2, pc1 ); free( pc2 ); } }
<< 問題一覧に戻る
(「C言語実力診断クイズ」は2001年5月から9月にかけて作成されたコンテンツです。)