c语言中scanf不加&会不会导致严重后果?

本人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