鱼C论坛

 找回密码
 立即注册
查看: 1294|回复: 1

[已解决]C语言scanf类型问题

[复制链接]
发表于 2019-10-2 16:18:36 | 显示全部楼层 |阅读模式
10鱼币
int i;
scanf("%d",&i); //为什么要输%d指定变量类型,不输入的话是以什么形式存储i这个值呢?二进制数据
最佳答案
2019-10-2 16:18:37
int 类型声明变量首先会在内存里给这个变量分配4个字节用来存放它。
scanf(格式控制,地址列表)里面的是不能少的,这是规定。没有格式控制会报错。
&i其实可以算指针,这句的意思是告诉scanf函数i变量的地址是这个地方(&i),然后scanf函数去找内存中找这个地方,找到之后将你规定格式输入的那个数字放进去。
这四个字节就不会动了,除非你再次使用该变量进行赋值时地址里的东西会发生变化。

最佳答案

查看完整内容

int 类型声明变量首先会在内存里给这个变量分配4个字节用来存放它。 scanf(格式控制,地址列表)里面的是不能少的,这是规定。没有格式控制会报错。 &i其实可以算指针,这句的意思是告诉scanf函数i变量的地址是这个地方(&i),然后scanf函数去找内存中找这个地方,找到之后将你规定格式输入的那个数字放进去。 这四个字节就不会动了,除非你再次使用该变量进行赋值时地址里的东西会发生变化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-2 16:18:37 | 显示全部楼层    本楼为最佳答案   
int 类型声明变量首先会在内存里给这个变量分配4个字节用来存放它。
scanf(格式控制,地址列表)里面的是不能少的,这是规定。没有格式控制会报错。
&i其实可以算指针,这句的意思是告诉scanf函数i变量的地址是这个地方(&i),然后scanf函数去找内存中找这个地方,找到之后将你规定格式输入的那个数字放进去。
这四个字节就不会动了,除非你再次使用该变量进行赋值时地址里的东西会发生变化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 04:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表