計算プログラムを作っています。
tmpには、1~4の値を入力してもらい、1を選ぶとタイトルが表示され、2または3を選ぶと2数を入力するように求められ、2を選ぶとその2数の足し算が実行され、3を選ぶとその2数の引き算が実行され、4を選ぶとプログラムが終了するという関数select_print_menu()を作りました。
いま、tmpに入力された値が4かそうでないかを判断し、4であれば、終了し、4でなければ、tmpに入力された値が1であれば、select_print_menu()を実行し、1でなければ、タイトルを表示するようにし、tmpに4が入力されるまで、この操作を繰り返させたいです。
以下のようなプログラムを書いたのですが、whileを使うと無限ループが起こり、ずっとタイトルが表示され続けてしまいます。どうして無限ループになってしまうのか教えていただきたいです。
長文申し訳ありません。よろしくお願い致します。
c
1#include <stdio.h> 2int MENU_1 = 1; 3 4int MENU_2 = 2; 5 6int MENU_3 = 3; 7 8int MENU_4 = 4; 9 10int tmp = 0; 11 12int main(void) 13{ 14 print_title(); 15 tmp = MENU_1; 16 while (tmp != MENU_4) { 17 if (tmp == MENU_1) { 18 tmp = select_print_menu(); 19 } 20 else { 21 print_title(); 22 } 23 } 24 if (tmp == MENU_4) { 25 //NR 26 } 27return 0; 28}
whileのところをfor(;tmp!=MENU_4;)にしてやってみても無限ループが起こってしまいました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/08 12:42