首页 > 试题广场 >

使用语句scanf(“a=%f,b=%d”,&a,&b);输

[单选题]

使用语句

scanf("a=%f,b=%d", &a, &b);
输入数据时,正确的数据输入是:( )

  • a=2.2,b=3
  • a=2.2 b=3
  • 2.2 3
  • 2.2,3
上面解释太繁琐了。。。看到scanf双引号里面的东西直接原样输入就可以
发表于 2018-09-23 20:51:59 回复(0)
scanf函数的标准输入格式为:scanf(格式控制字符串,地址列表);
其中格式控制字符串的一般形式为 %[*][数据宽度][长度]类型。
1.类型 :%o (八进制)、%d(十进制)、%x(十六进制)、%f (字符型)、%u(无符号类型)、%c (字符型)、%s(字符串型)
2.数据宽度:用十进制整数来指定字符宽度 例如
int a,b;
scanf("%5d",&a);
当输入为1234567时,截取前面5位赋给a,则有a=12345
scanf("%4d%4d",&a,&b);
当输入为12345678时,此时截取前4位给a,后4位给b,则有a=1234,b=5678
3.长度:长度格式符为l或h,其中l表示长整型数据例如%ld、双精度浮点数%lf,h表示的是短整型数据
当输入多个数值型数据时,如果格式控制字符串中没有非格式字符(逗号、空格等 出现 ,例如scanf("%d%d",&a,&b);此时在输入数据时可以用空格、TAB或回车来表示输入数据之间的间隔,比如输入 1_2(回车) (这里下划线表示的是空格),则a=1,b=2
4.如果格式控制字符串中有非格式字符,则输入时也需要输入相应的非格式字符(正如本题所示的输入中含有非格式字符 a=, b= 因此在输入的时候也应该输入a=, b=)
例如
int a,b;
scanf("%d,%d",&a,&b);含有非格式字符逗号,在输入数据的时候就应该输入1,2  此时有a=1,b=2
5.%*,表示的是在输入数据时将会跳过这个数值
例如
int a,b;
scanf("%d,%*d,%d",&a,&b);输入1,2,3 时,2将被跳过赋值,有a=1,b=3


发表于 2017-06-20 09:57:18 回复(0)
格式控制字符串中出现的常规字符(包括转义字符),务必原样输入!
发表于 2018-11-05 21:02:42 回复(0)
如果格式控制字符串中有非格式字符,则输入时也需要输入相应的非格式字符(正如本题所示的输入中含有非格式字符 a=, b= 因此在输入的时候也应该输入a=, b=)
例如
int a,b;
scanf("%d,%d",&a,&b);含有非格式字符逗号,在输入数据的时候就应该输入1,2  此时有a=1,b=2
发表于 2017-08-01 16:29:26 回复(0)
上面的解析让人混乱,直接说“在键盘输入时,只能输入a=2.2,b=3”就好,干嘛要说"应该输入1,2,此时有a = 1, b = 2"
发表于 2018-02-06 16:11:31 回复(0)
c为什么错
发表于 2017-06-27 22:11:53 回复(2)