C/C++中的scanf函数的使用注意点

要求是使用scanf输入三个整型值,再依次输出输入的整型值。
刚开始思路就是简单定义三个整型变量,用scanf简单将输入值暂存输出即可,代码和运行情况如下
在这里插入图片描述
这里,敲完代码显示scanf语句中的三个变量在这里未初始化,尝试调试运行,情况如下
在这里插入图片描述
经查阅,得知scanf函数,与printf不同的是它要存入输入值的地址,而不是变量的值,&score1,即为取变量score1在内存中的地址,如果不加&,此时score1只是一个未经初始化的变量,其值是个乱码,因此此时程序运行报出段错误,且乱码也不是内存中的地址,所以此时scanf函数的输入参数错误,无法正常运行。
这里改为取变量地址后,即可实现目标要求,如下
在这里插入图片描述
PS:其实不用&这个取地址符号,而此时的score1定义一个地址值,这种scanf语句也能正常输入,但区别在,此时输入的值存入score1值所在地址中,而用&score1,则将输入的值存入变量score1的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值