第05問

長いテキストを表示するプログラムを作りました。プログラムを見やすくするために、文字列を途中で折り返しています。でも、もう少し見やすくできる書き方があります。

どういう書き方をすれば見やすいプログラムになるでしょうか?
main.c
#include <stdio.h>
#include <stdlib.h>

int main(void) {
  puts("むかしむかしあるところに、\
おじいさんとおばあさんがすんでいました。\
あるひのこと、おじいさんはやまへしばかりに、\
おばあさんはかわへせんたくにいきましたとさ。\
めでたしめでたし。");

  return EXIT_SUCCESS;
}
実行結果
むかしむかしあるところに、おじいさんとおばあさんがすんでいました。あるひのこと、おじいさんはやまへしばかりに、おばあさんはかわへせんたくにいきましたとさ。めでたしめでたし。
今回のプログラムは、間違っているわけじゃないんですよね。
そうね。このままでも問題はないのよ。
分かった!字下げを調節すれば見やすくなりますよね!

どうやらレオ君は、字下げ(インデント)を調節すればプログラムが見やすくなることに気付いたようです。それで、次のように手直しをしてみたのですが……。

字下げを調節してみたよ。
  puts(
    "むかしむかしあるところに、\
    おじいさんとおばあさんがすんでいました。\
    あるひのこと、おじいさんはやまへしばかりに、\
    おばあさんはかわへせんたくにいきましたとさ。\
    めでたしめでたし。"
  );
あれれ?実行結果が変わってしまった……。
むかしむかしあるところに、    おじいさんとおばあさんがすんでいました。    あるひのこと、おじいさんはやまへしばかりに、    おばあさんはかわへせんたくにいきましたとさ。    めでたしめでたし。
おしい!字下げのスペースが、そのまま出力されてしまったのね。
なるほど。ということは……。
きれいに字下げができて、実行結果も変わらない方法を考えてみましょう。