使用scanf要注意的地方

1.scanf函数使用前要包含头文件

#include <stdio.h>

如果不包含,则会导致编译器语法报错(编译器检查语法错误)

在vs2022的编译器底下报的错误,不同的编译器可能有不同的结果,待检测

2.记得不要漏掉“&”,若忘记输入,则会出现以下错误

为什么会出现这样的现象呢?我们可以先看看下面的代码

int n = 0;
scanf("%d", n);
return 0;

在这个代码中,scanf函数的作用是以整数的形式(%d)输入一个值并存入变量n当中,如果我们要将值放入到变量n当中,就需要找到这个变量在计算机内存中的哪个位置,即对应的地址,一个在变量n前面加上个‘&’,即&n就可以取到该变量的地址(计算机中的内存分别有栈区,静态区和动态存储区三个部分,而n作为局部变量一般放在栈区,栈区一般用来存放临时变量),如果找不到变量n的位置,计算机就随机找一个计算机中的内存来讲该值存放,就会造成越界访问其他内存地址(越界访问计算机其他地方的内存,可能会干扰到计算机内的正常运行),导致系统崩溃提前终止运行。

正确的代码如下

int n = 0;
scanf("%d", &n);
return 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值