- ベストアンサー
C言語のプログラムの出力結果について教えてください
- C言語のプログラムの出力結果について教えてください。
- プログラムの出力結果の中のbfbff750の意味がわかりません。
- プログラムの出力結果の中のLINSIZ、B、および4つ目の要素の意味がわかりません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#include <stdio.h> #define LINSIZ 80 main() { char line[LINSIZ] = "ABCD"; printf("result1 = %x; %d\n", line, line); printf("result1 = %x; %d\n", &line[0], &line[0]); printf("result2 = %c; %x; %d\n", *line, *line, *line); printf("result2 = %c; %x; %d\n", line[1], line[1], line[1]); printf("result2 = %c; %x; %d\n", line[4], line[4], line[4]); } 実行した結果は、 result1 = 22cc70; 2280560 は、lineのアドレス result1 = 22cc70; 2280560 は、line[0]のアドレス result2 = A; 41; 65 は、line[0]の内容 result2 = B; 42; 66 は、line[1]の内容 result2 = ; 0; 0 は、line[4]の内容
その他の回答 (3)
- johnsmith_
- ベストアンサー率34% (8/23)
まじめに回答します。 【1】 : bfbff750 【2】 : A 【3】 : B 【4】 : 0 理由は省略します。
- hanabutako
- ベストアンサー率54% (492/895)
bfbff750はline配列があるメモリー上のアドレスですね。 表示には%xではなく、%pを使うべきだとは思いますが。 > 【1】はAだと思うのですが%xの16進数だとどうなるか分かりません 違います。 そもそも、&ですよ。 > 【2】はLINSIZでしょうか? 違います。 %cですよ。 > 【3】はBだと思います 正解です。 >【4】よくわからないです line[4]がABCDのDの次の値なのはわかりますか? そこには文字列の終端記号が入っていますが、終端記号を表す数値は何でしょう?
- Tacosan
- ベストアンサー率23% (3656/15482)
もうちょっとましなタイトルを付けようよと思いつつ, 実行してみればいいのでは?