
九九表を作ろうとしたのですが、うまくいきません、解説お願いします。
#include<stdio.h>
main()
{
int i ;
int j ;
for( i=1 ; i<=10 ; i++){
for( j = 1 ; j<=10 ; j++) {
printf("%4d\n") , i*j ; }
printf("\n") ;
}
}
結果
10
-748408832
-748408832
-748408832
-748408832
-748408832
-748408832
-748408832
-748408832
-748408832 が10個続いてました・・・・
No.1ベストアンサー
- 回答日時:
>printf("%4d\n") , i*j ;
printf("%4d\n", i*j);
の間違いじゃないですか?
先の書き方だと……
i*jの結果は捨てられ、printf()の戻り値は評価されません。
# まぁ、評価する必要もないでしょうが…
書式としては一応合っていますので…コンパイルエラーにはならないのでしょう。
# 環境によってはprintf()の引数が足りない。などの警告orエラーになる場合もありますが。
で、printf()が表示しようとする値は「たまたそこにあったもの」になります。
この場合だと…たぶんprintf()からのリターンアドレスでしょうか……。
"%4d\n"の文字列定数が置かれたアドレス…か???
# 環境依存なので断言はできませんけどね…
No.4
- 回答日時:
>for( i=1 ; i<=10 ; i++){
>for( j = 1 ; j<=10 ; j++) {
九九に10の段はありません。

No.3
- 回答日時:
以下のようにしてください。
-----------------------------------------------
#include<stdio.h>
main()
{
int i ;
int j ;
for( i=1 ; i<=10 ; i++){
for( j = 1 ; j<=10 ; j++) {
printf("%4d", i*j);
}
printf("\n") ;
}
}
------------------------------------------------------
実行結果は以下の通り
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

No.2
- 回答日時:
> printf("%4d\n") , i*j ;
これを、目をこらして、よく確認しましょう。
間違っていますが(意図したとおりではないはずですが)エラーにはならないんですね、これが。
Cの文法としては正しいので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10個出力で改行したいのですが...
-
(C言語)めちゃくちゃな値にな...
-
3つの整数が等しいかどうか調...
-
c言語でAからZまでを表示する...
-
cshの文字列操作(0埋め)
-
コマンドラインに出力した文字...
-
scanfに文字が入力されたときに...
-
c言語
-
【C言語教えてください】sin波...
-
printfの変換仕様について
-
C言語
-
printf で二進表示を行いたい。
-
switch分のケースを範囲数?に...
-
コンパイルすると『breakの位置...
-
Cプログラムについて
-
Visual Sutdio 2017 でのC言語...
-
名簿作成 表示について
-
C言語についてです。 アスタリ...
-
ヒルベルト曲線のプログラム(C...
-
(構造体)双方向連結リストの作成!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
c言語で2000年以降カレンダーを...
-
c言語でAからZまでを表示する...
-
【C】fizzbuzzのトリッキーなコ...
-
strcmp
-
printf で二進表示を行いたい。
-
【C言語教えてください】sin波...
-
コマンドラインに出力した文字...
-
8人分のテストの点数を入力し、...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
(C言語)めちゃくちゃな値にな...
-
cshの文字列操作(0埋め)
-
テキストカーソル位置の取得
-
コマンドプロンプトがすぐ消える
-
printfの出力内の文字をdefine...
-
scanfに文字が入力されたときに...
-
台形の面積を求めるプログラム
-
改行について 1行に何個かづ...
-
WM_CLOSEで閉じれないウィンド...
おすすめ情報