下面的解答已被8026人点赞
取指,即取得a的地址。最后一次编辑时间 推荐于2017-09-30 16:13:47
scanf要求,其后的变量为指针类型。
你这里一定定义了int a;
如果直接定义的是指针,就不用加&
取指,即取得a的地址。最后一次编辑时间 推荐于2017-09-30 16:13:47
scanf要求,其后的变量为指针类型。
你这里一定定义了int a;
如果直接定义的是指针,就不用加&
scanf ("%d",&i);最后一次编辑时间 推荐于2017-08-29 19:53:28
它能跳过非打印字符如空格、Tab、回车符,只能读取一个整数。所以99就未被读取(可以留待下一次读取)。
C语言中scanf是标准库函数,主要用来接收用户输入的数据。
函数格式:int scanf(char *format, args, ...);
功 能:从标准输入设备按format指定格式输入数据给args所指向的内存单元
返 回 值 :读入并赋给args的数据个数。遇文件结束返回EOF,出错返回0
举例如下:
int a;最后一次编辑时间 推荐于2017-09-10 20:59:35
scanf("%d", &a); // 按%d的格式(即整型的格式),将用户输入的数据赋值给&a指向的内存单元(即变量a所在的内存单元)。
// 简单理解就是将用户输入的数转换为int类型并赋值给变量a
格式字符串的一般形式为:最后一次编辑时间 推荐于2017-09-03 21:36:23
%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项
“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符
跳过一个字符
举个例子
#include "stdio.h"
int main(){
int a, b;
scanf("%d%*c%d", &a, &b);
printf("%d %d\n", a, b);
return 0;
}
你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b
首先需要#include <stdio.h>int scanf( const char *format, ... );scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。
第一个参数format为一个常量字符串,这个字符串中如果包含‘%’符号则使用后续参数进行匹配
如:scanf("%d%d", &a, &b);
1.转换字符(就是%后跟的部分) a 读浮点值(仅适用于 C99), A 读浮点值(仅适用于 C99), c 读单字符,d 读十进制整数, i 读十进制、八进制、十六进制整数 。
2.附加格式说明字符表修饰符说明:L/l 长度修饰符 输入"长"数据, h 长度修饰符 输入"短"数据, W 整型常数 指定输入数据所占宽度,表示本输入项在读入后不赋值给相应的变量。
最后一次编辑时间 2018-05-10只要输入一个参数,改成scanf("%d", &n);就可以了最后一次编辑时间 推荐于2018-04-13 20:20:36
这必须结合前文才能解释的啊。最后一次编辑时间 推荐于2017-10-18 08:38:41
int a[100],i=0;
while(scanf("%x",a+i++));
这是以16进制形式,从键盘读取数据到a数组中。第一个数读到a[0]中,第二个数读到a[1]中,……,直到输入CTRL+D回车时结束。
&是取地址的意思 &a 是取出变量a的地址最后一次编辑时间 推荐于2018-02-26 12:58:42
scanf(%d",&a) 就是读取1个数字 写入a的地址
scanf("%d",a) 是读取1个数字 写入地址a 这个a如果是100 就写到地址100 如果是200 就写到地址200 显然 这很危险 万一a的存储的值刚刚好是一些指令的地址什么的 会写到这个地址修改指令 就运行不下去了 出大错
printf("%d",a) 就没什么了 把变量a的存储的值输出
然后 &是取地址 所以你可以
printf("%d",&a) 这样是输出a的地址
int 是定义整形的数据最后一次编辑时间 推荐于2017-09-29 23:57:35
float是定义单精度实数(想当于是小数)
scanf就是输入函数,用来接收键盘输入的数字或者字符
用法嘛,就是 int a=23;
float b=5.63;
scanf("%d%f",&a,&b);
这里scanf函数,会把接收的a和b赋予到a和b
相当于是实现了电脑和人之间的一个交换
了解?
首先需要#include <stdio.h>最后一次编辑时间 推荐于2017-10-13 23:54:43
int scanf( const char *format, ... );
scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。
第一个参数format为一个常量字符串,这个字符串中如果包含‘%’符号则使用后续参数进行匹配
如:scanf("%d%d", &a, &b);
格式说明符
转换字符(就是%后跟的部分)
a 读浮点值(仅适用于 C99)
A 读浮点值(仅适用于 C99)
c 读单字符
d 读十进制整数
i 读十进制、八进制、十六进制整数
e 读浮点数
E 读浮点数
f 读浮点数
F 读浮点数(仅适用于 C99)
g 读浮点数
G 读浮点数
o 读八进制数
s 读字符串
x 读十六进制数
X 读十六进制数
p 读指针值
n 至此已读入值的等价字符数
u 读无符号十进制整数
[ ] 扫描字符集合
% 读 % 符号(百分号)
附加格式说明字符表修饰符说明
L/l 长度修饰符 输入"长"数据
h 长度修饰符 输入"短"数据
W 整型常数 指定输入数据所占宽度
* 表示本输入项在读入后不赋值给相应的变量