为什么这个程序在TC里能执行!在VC6.0里就提示说内存不能写入

#include <stdio.h> int main(void) { int *p,*a,*b; printf("input a:"); scanf("%d",a); printf("input b:"); scanf("%d",b); p=a; a=b; b=p; printf("a=%d,b=%d\n",*a,*b); return 0; }为什么这个程序在TC里能执行!在VC6.0里就提示说内存不能写入