>>442何度も申し訳ない、最後の1文は、

最初にshort型の宣言を行わずにdouble型で格納することはできないのでしょうか?

という事です。

//sinshort = sindouble;  この文章を消して 

fwrite(&sindouble,sizeof(short),1,fp);

では何がいけないのか?という質問です。そういう仕様ですと言われればそうなのですが、では何故fwrite()関数の引数にsize指定があるのかという事です。