读书人

关于scanf输入的一个有关问题

发布时间: 2012-02-12 17:16:34 作者: rapoo

关于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;

读书人网 >C语言

热点推荐