我想将通过scanf()
输入的5位数字分成三个不同的变量。第一个变量应具有第一位数字,第二个变量应具有后两位数字,而第三个变量应具有后两位数字。
我在想这样的事情:
int num1;
int num2;
int num3;
scanf(%1d%2d%2d, &num1, &num2, &num3);
但是,这不起作用:它将后两位数字分配给每个变量。
有没有办法在扫描完所有5位数字后不分隔数字?
答案 0 :(得分:3)
更改此:
scanf(%1d%2d%2d, &num1, &num2, &num3);
对此:
scanf("%1d%2d%2d", &num1, &num2, &num3);
因为您忘记使用双引号。
请参见以下示例:
#include <stdio.h>
int main(void) {
int num1, num2, num3;
scanf("%1d%2d%2d", &num1, &num2, &num3);
printf("%d %d %d\n", num1 ,num2, num3);
return 0;
}
输出:
> 12345
1 23 45
在此 Live Demo
中亲自查看