true;//キーボード入力を有効にする}}glutPostRedisplay();//再描画}このプログラムのkの値がどうしても2のままになってしまうのですが、原因の分かる方いらっしゃいますか?御教授願います。4年前コードはBBcodeを有効にした状態でcodeタグで囲んでいただけると、見やすくてありがたいです。1;}ここを実行すると、まず、if文の条件になっているk=0が評価されます。kの値は0になり、0が帰るので条件は偽となり、else以降が評価されます。次に、elseの次のif文の条件になっているk=2が評価されます。kの値は2になり、2が帰るので条件は真となり、このif文の直後のブロックが実行され、else以降は評価されません。似た構造の他の部分も同様です。よって、GLUT_KEY_UPまたはGLUT_KEY_DOWNを押すと、kの値が2になります。4年前if文の条件が代入になってますね。C言語では条件と代入の書き方が違います。下記のリンク先にある(注1)を参照。回答ありがとうございます。解決したのでしたら、解決チェックをお願いします。ミクプラは自由にリンクできます。