• 締切済み

C言語、putcharについて

C言語で、 int i,j; for (i=1;i<=9;i++) { for (j=1;j<=9;j++) printf("%d",i*j); putchar('¥n'); を実行すると   1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 となります。 しかし、4行目をprintf("%d",i*j); にかえてputchar('¥n')をなくすと、すべての値が同じ列になってしまいます これはどういうことでしょうか??

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>putchar('¥n')をなくすと、すべての値が同じ列になってしまいます putchar('\n')が何をしてるのか理解されていますか?

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>for (j=1;j<=9;j++) >printf("%d",i*j); で、9個表示したら、 >putchar('¥n'); で改行します。 で、ソレを >for (i=1;i<=9;i++) { 9回繰り返します。 というコードですが、どこらへんが謎なんです? 消失しているインデント…かな? for (i=1;i<=9;i++) {  for (j=1;j<=9;j++)  printf("%d",i*j);  putchar('¥n'); } って書いてあるのに、どうしてです?みたいな。 >しかし、4行目をprintf("%d",i*j); >にかえてputchar('¥n')をなくすと、すべての値が同じ列になってしまいます >これはどういうことでしょうか?? 改行がなくなるのですから当然かと。 # 実行している環境によっては、右端まで到達して複数行に見えるかも知れませんが。 # ケータイメールとかで改行じゃなくてスペースで(見た目だけ)改行されているように。

関連するQ&A