C言語のポインタを使用した際の構造体について。
やりたいこと
noとnameはしっかりと出力されましたが、averageは全て0.000000となる理由が分からなく、解決したく質問致します。
該当のソースコード
#include <stdio.h> struct seiseki { int no; char name[20]; double heikin; }; int main (void){ struct seiseki seito[20] = { { 1, "Tanaka", 78.6 }, { 4, "Hanawa", 85.6 }, { 6, "Yoshioka", 78.4 }, }; struct seiseki *sp; sp = seito; for (int i = 0; i < 3; i++){ printf("%d\n", (sp + i) -> no); } for (int i = 0; i < 3; i++){ printf("%s\n", sp -> name); ++sp; } for (int i = 0; i < 3; i++){ printf("%lf\n", (sp + i) -> heikin); } }
出力結果
1 4 6 Tanaka Hanawa Yoshioka 0.000000 0.000000 0.000000