質問: zn となる自然数の組 (x, y, z) は存在しない、という定理を「○○の最終定理」という"); puts("0.ピタゴラス 1.オイラー 2.プラトン 3.フェルマー"); scanf("%d",ans); if(ans==3){ puts("正解です"); A.HP-=You.attack; puts("敵にダメージ!"); } else{ puts("不正解です"); You.HP-=A.attack; puts("【!】敵の攻撃!"); } flag[9]=1; } }while(You.HP>=0||A.HP>=0); //こっから先はクリアした場合のみ表示される。 time_t current =time(NULL); struct tm*timer=localtime(&current); char *wday_name[]={"日","月","火","水","木","金","土"}; FILE *fp; fp=fopen("file.txt","w"); if((fp)==NULL){ printf("cannnot open file"); } else{ printf("wrote the result."); fprintf(fp,"クリアしました!\nクリア日時:%d年%d月%d日(%s)%d時%d分%d秒", timer->tm_year+1900,timer->tm_mon+1, timer->tm_mday,wday_name[timer->tm_wday],timer->tm_hour, timer->tm_min,timer->tm_sec ); fclose(fp); } return (0); } ``` このプログラムなのですが(まだ作り始めですが・・・)、コンパイルは通るのですが、プログラム実行時にクイズの答えを入力すると(クイズに対し例えば「1」と入力すると)cmdの動作が停止(フリーズ)してしまいます。回答が間違っている時も合っているときもフリーズしてしまいます。理由がわからず困っております。どのようにすれば解決できるでしょうか。
回答: scanfの使い方が間違っています。 `scanf("%d", &ans);` に直しましょう。