int x;
int y;
scanf("%d",&x,&y);

にしましょう。

int *x;
int *y;
では、ポインタを格納する変数があるだけです。

イメージ的には(※理解するだけにとどめて、これで覚えないで下さい)
[               ]
[               ]
とアドレス(住所)を書ける欄(変数)が2つあります。これは使い回されるものとします。

[東京都品川区〜〜〜〜]
[東京都新宿区〜〜〜〜]
と、前の人が書いたままなので、勝手に何か使えば問題が発生します。

[神奈川県横浜市〜〜〜]
[千葉県千葉市〜〜〜〜]
と、自分で正しいアドレス(住所)に書き換えてあげなければなりません。
あるいは、紙(変数)に書いたりせずに口頭(&x,&y)でアドレス(住所)を教えてあげなければなりません。



これを見て将来ダメになっても私は知りません