本人c语言萌新,今天上网课时老师提到了scanf函数 :
int a ;
scanf(“%d”,a) ;
他说编译能通过,但运行会出大问题
其中,a因为没有初始化,会产生一些乱七八糟的数据,然后会把这堆数据传递给scanf,会有可能使内部指针指向系统文件,损毁系统数据,要是严重一点,只能去重装系统。
感觉有些危言耸听。。
特来询问
这个确实有点危言耸听了,想一想,如果这么容易破坏系统,谁还敢玩啊
其实内存空间管理都是很严格的,不属于你这个程序可控的空间你是不能操作的,不然越界都没毛病了。
每个进程都会保护自己使用的内存空间的,放心吧。
一般就是报错,极小概率可能使内部指针指向系统文件,没啥事,但是平时最好注意,想了解更多可以看看这个scanf忘记加'&'危害有多大? 详解GOT表覆写攻击技术_HiTaQini-CSDN博客
这个是输入函数,用来从键盘输入值,赋值给变量,&符号就是指向变量的内存地址。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632