本人c语言萌新,今天上网课时老师提到了scanf函数 :
int a ;
scanf(“%d”,a) ;
他说编译能通过,但运行会出大问题
其中,a因为没有初始化,会产生一些乱七八糟的数据,然后会把这堆数据传递给scanf,会有可能使内部指针指向系统文件,损毁系统数据,要是严重一点,只能去重装系统。
感觉有些危言耸听。。
特来询问
本人c语言萌新,今天上网课时老师提到了scanf函数 :
int a ;
scanf(“%d”,a) ;
他说编译能通过,但运行会出大问题
其中,a因为没有初始化,会产生一些乱七八糟的数据,然后会把这堆数据传递给scanf,会有可能使内部指针指向系统文件,损毁系统数据,要是严重一点,只能去重装系统。
感觉有些危言耸听。。
特来询问
这个确实有点危言耸听了,想一想,如果这么容易破坏系统,谁还敢玩啊
其实内存空间管理都是很严格的,不属于你这个程序可控的空间你是不能操作的,不然越界都没毛病了。
每个进程都会保护自己使用的内存空间的,放心吧。