如果你还不知道比如输入一个数字进入c程序的话或者用scanf出现了什么问题的话那这里可能有你要的东西
如果你想向计算机输入一个6的话
scanf("%d",&a); %d是占位符 &地址符 它会把你输入的数丢到用&锁定的地址上去(已经用%d给你占好位了)
如下图
后面一个数就是a所在的地址你输入的数就是被丢到那个位置去的
scanf常见问题
1.在你用scanf时占位符和后双引号之间加了点东西比如制表符,空格,换行符什么的
这样的的结果是你必须再输入一个字符
因为scanf碰到以上的东西会去读下一个字符
如下图
2.用循环输入字符一维数组时空格,制表符,回车键都是占位的
如下图
因为printf输出的第2个和第4个字符都是回车
所以才出现输出的是个坡不是一行
那么如何输入5个数呢 直接连起来就好了
如下图
数字一维数组不会
如下图
平常输入也是占位的
如下图
用数字和字符混合输入呢
当且仅当你打空格时如果后面要输入的是字符那就是占位(以空格为例)
如下两图
说到底就是空格 制表符 回车都能当字符输入
3.当用scanf输入数据时如果有一个数据不符合(类型不符)从这个数据以后开始输入就断了
无论你是否只是输错一个
如下图
如果有2个scanf语句呢
恭喜你又白写了
如下图