>>481
惜しいな。
void display2(struct syouhin_data syouhin);
(は、struct syouhin_data を使っているから)
その構造体の宣言よりも下の行に持っていけば動くよ。

>>480
スマン俺は寝る。
たぶん for(j=i; だと思うが未確認だし責任は取れん。
他の間違いは探してないし。悪しからず。