第1週は警報発令による授業休止,第2週は祝日のため,今週月曜日が,Cプログラミングの初回講義でした.ノートPCに手入れをしていなかったほか,プレゼンマウスの電池切れもあり,失敗だらけの90分でした.
授業終了後に,学生より質問がありました.2行2列の行列の積を計算する,例題プログラムについてです.表示の際,行列のカッコがどのように処理されているのか,と聞かれまして,いろいろ尋ね返すものの,要領を得ません.
処理を確認することにしました.出力部のコードは次のとおりです.
printf("[%2d %2d][%2d %2d] [%2d %2d]\n", a11, a12, b11, b12, c11, c12); printf("[%2d %2d][%2d %2d] = [%2d %2d]\n", a21, a22, b21, b22, c21, c22);
2行分のカッコは,標準出力に書き出すというコマンドラインインタフェース(CLI)では実現できないので,それぞれの行に"["と"]"を記述しています.
実行結果はこうでしたけど,と画面を見せたところ,学生は,あっそうだったんですかと,驚きました.
もう少し聞き出して,状況が分かりました.質問に来た時点で,端末の表示が次のようになっていると,誤解していたのでした.
*1
こんな表示は,Cの入門の範囲を超えています.CLIではなく,TeXで書くか,Web上のサービス(例えばOnline LaTeX Equation Editor)を使うのが簡便です.