解決済みの質問

表示の仕方

どなたか教えていただきたいのですが。
c言語初心者です。
たとえば構造体での出力なんですが

struct ordience a[]{{1,"nakano",32},
              {2,"kanou",39},
              {3,"satou",33}};
printf("%d %s %d\n",a.no[1],a.name[1],a.point[1]);

以上で二列目の配列を表示させたいのですがうまくいきません。
どなたか教えていただけませんか?

投稿日時 - 2009-11-12 11:25:08

連想キーワード:

QNo.5441681

すぐに回答ほしいです

質問者が選んだベストアンサー

質問する際には、実行しているソースをそのまま貼り付けてください。
また、「何がどううまくいかない」のかも書いてください。
今回ならコンパイルで文法エラーが出ているはずです。

初期化が違います。
>struct ordience a[]{{1,"nakano",32},
struct ordience a[] = {{1,"nakano",32},

構造体の2番目なので
>a.no[1]
ではなく
a[1].no
です。

投稿日時 - 2009-11-12 11:45:55

お礼

ありがとうございます。

たいへんためになります。

投稿日時 - 2009-11-12 13:11:34

ANo.3

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.2

配列になっているのは a なので、

printf("%d %s %d\n",a[1].no,a[1].name,a[1].point);

じゃないですか?

投稿日時 - 2009-11-12 11:43:39

補足

ありがとうございました。うまくとおりました。

投稿日時 - 2009-11-12 13:11:46

ANo.1

なんで a.no[1] なの?
a[1] とかが構造体なんじゃない?

投稿日時 - 2009-11-12 11:43:14

お礼

たしかにそのとおりでした。
ありがとうございます。

投稿日時 - 2009-11-12 13:10:22

あわせてチェックしたい
  • …{{φ}}…は集合ですか?、{{{……}}}は集合ですか? ...
  • printf("%2.d",0);は? ...
  • printf("%d",func())はなぜ実行できないのか? ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら