• ベストアンサー

表示の仕方

どなたか教えていただきたいのですが。 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]); 以上で二列目の配列を表示させたいのですがうまくいきません。 どなたか教えていただけませんか?

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

  • ベストアンサー
回答No.3

質問する際には、実行しているソースをそのまま貼り付けてください。 また、「何がどううまくいかない」のかも書いてください。 今回ならコンパイルで文法エラーが出ているはずです。 初期化が違います。 >struct ordience a[]{{1,"nakano",32}, struct ordience a[] = {{1,"nakano",32}, 構造体の2番目なので >a.no[1] ではなく a[1].no です。

armpoint
質問者

お礼

ありがとうございます。 たいへんためになります。

その他の回答 (2)

回答No.2

配列になっているのは a なので、 printf("%d %s %d\n",a[1].no,a[1].name,a[1].point); じゃないですか?

armpoint
質問者

補足

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

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

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

armpoint
質問者

お礼

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

関連するQ&A