全部问题 > 当前问题

那scanf连着输入两个数字怎么办?


任鹏宇 2017-9-14 00:16:42

共 1 个回答

飞雨 2018-3-9 11:35:34

%c输入格式不能用空格因为空格会被认为是字符,但是两个%d之间能用因为空格不是数字

问题来自: 字符数组
有以下程序
#include <stdio.h>
main()
{ int a1,a2; char c1,c2;
  scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
  printf("%d,%c,%d,%c",a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出的结果是:12,a,34,b则正确的输入格式是 ______ 。(以下^代表空格,<CR>代表回车)。
A. 12a34b<CR>
B. 12^a^34^b<CR>
C. 12,a,34,b<CR>
D. 12^a34^b<CR>
答案:A
解析:当scanf函数中使用%c时,不能使用空格、制表符、回车等间隔符来间隔变量。所以正确的方法时输入完12之后直接输入变量a,后面一样。因此选A。