C语言scanf

baidu_41890199 2020-05-31 09:49:48
按格式要求输入、输出数据。
#include <stdio.h>
main()
{ int a,b;
float x,y;
char c1,c2;
scanf("a=%d,b=%d",&a,&b);
scanf("%f,%e",&x,&y);
scanf("%c%c%c",&c1,&c1,&c2); /* 第8行 */
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);
}
程序第8行中,为什么变量c1要输入两次?
...全文
201 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
云小凡 2020-06-22
  • 打赏
  • 举报
回复
你牛逼,自己为难自己
qq_41515678 2020-06-18
  • 打赏
  • 举报
回复
scanf("a=%d,b=%d",&a,&b);留下了一个'\n' 由于scanf("%f,%e",&x,&y);只读取浮点数忽略了'\n',同时该语句剩余一个'\n'没读 scanf("%c%c%c",&c1,&c1,&c2);读取了'\n'赋值给c1,接下来应该输入 c1和c2的值,所以该语句读取的仍然是两个字符,赋值给c1和c2
自信男孩 2020-06-18
  • 打赏
  • 举报
回复
因为'\n'正好和第一个%c匹配
尼娅和大家 2020-06-18
  • 打赏
  • 举报
回复
删掉一个不就行了
5250 2020-06-01
  • 打赏
  • 举报
回复
你scanf读取了2次
多年以后的 2020-05-31
  • 打赏
  • 举报
回复
可以不用输入二次呀,修改一下就ok

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧