关于scanf输入的一个问题
int X;
int *Y;
printf( "\nINPUT A NUMBER: ");
scanf( "%d ",&X);
printf( "\nINPUT A NUMBER: ");
scanf( "%d ",Y);
printf( "\nX= %d ",X);
printf( "\nY= %d ",*Y);
为什么在vc下上述程序段能编译,但是运行的时候报0xC0000005:Access Violation,vc底下为什么不能通过int *y;scanf( "%d ",y);这样的方式输入呢?
[解决办法]
int *Y= new int;
[解决办法]
Y是个指针,没有指向任何的空间,scanf( "%d ",Y),要往Y指向的地址赋值.故溢出.
[解决办法]
指针没有初始化。。。。
[解决办法]
int *Y;
Y = new int;