#include <stdio.h>

int main()
{
int num;
char c;

scanf("%d", &num);
scanf("%c", &c);

printf("整数データ = %d\n", num);
printf("文字データ = %c\n", c);

return 0;
}
このサンプルをコンパイルして実行して
Z 12345
と入力しました。

本の見本では
整数データ = -1073744244
文字データ = Z
と出ています。

しかし自分の環境(FreeBSD x86 gcc2.95.3)では
整数データ = 671396813
文字データ = Z
と表示されます。
これは何故でしょうか?