e49.c

ポインタなの?整数なの?


プロトタイプ宣言で extern func(short);
関数呼び側で short val; func(&val);
解説 プロトタイプ宣言が間違っていませんか? この場合short変数のアドレス(32bit)を関数呼び側で送っていますが、 プロトタイプ宣言がshort(16bit)なのでアドレス半分が欠損します。