{
int n;
char x,y;
scanf("%d", &n);
cout<<n<<endl;
scanf("%c", &x);
cout<<x<<endl;
scanf("%c", &y);
cout<<y<<endl;
}
如果想给变量n赋值5,x赋值a,y赋值b,则应连续输入 5ab ;然后程序输出 第一行输出5,第二行输出a,第三行输出b。但这并不是想要的效果。
1. 如何实现输入 5,程序输出5,再输入a,程序输出a,,再输入b,程序输出b?
<
scanf输入问题:如何避免字符输入时的跳过现象?
在C语言中,当使用scanf分别读取一个整数和两个字符时,输入5ab可能导致5、a、b被分别赋值给n、x、y。为解决输入后不等待直接跳过的问题,可以在每个%c前加空格。要逐个输入并显示,可以修改为`scanf(" %c", &x); scanf(" %c", &y);`。若要输入x后换行输入y,可以使用`scanf(" %c %c", &x, &y);`。"
130956858,5564205,华为OD机试真题:字符串摘要算法实现,"['字符串处理', '算法实现', 'Java', '华为机试', '编程挑战']
int n;
char x,y;
scanf("%d", &n);
cout<<n<<endl;
scanf("%c", &x);
cout<<x<<endl;
scanf("%c", &y);
cout<<y<<endl;
}
如果想给变量n赋值5,x赋值a,y赋值b,则应连续输入 5ab ;然后程序输出 第一行输出5,第二行输出a,第三行输出b。但这并不是想要的效果。
1. 如何实现输入 5,程序输出5,再输入a,程序输出a,,再输入b,程序输出b?
<

被折叠的 条评论
为什么被折叠?