一个恼人的小问题

CompTech 2004-08-31 03:21:22
#include <stdio.h>
void main()
{
int x,y;
scanf("%3d,%3d",&x,&y);
printf("\n%d,%d",x,y);
}

请问当第一个输入的数据超过3个时就会出错,这是为何?
如输入1234,123
则结果为123,212
谢谢
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
健之 2004-08-31
  • 打赏
  • 举报
回复
系统是自动取前3位,但读到第4位为4,而你的格式规定为‘,’,所以错了。可以将输入该为1234123,而格式改为%3d%3d
cqhejun 2004-08-31
  • 打赏
  • 举报
回复
scanf("%3d,%3d",&x,&y);
如输入1234,123

将1234前3位的值存入x,由于键盘输入格式不对应,给变量y的赋值失败,y保留初始值.
但前面变量y没有初始化,y取随机值.
CompTech 2004-08-31
  • 打赏
  • 举报
回复
我就是要限定啊,系统回自动取前3位啊。。
寻开心 2004-08-31
  • 打赏
  • 举报
回复
scanf 当中 %3d的限制, 改成%d
yjh1982 2004-08-31
  • 打赏
  • 举报
回复
你限定了3么-_-
scanf("%d,%d",&x,&y);

69,371

社区成员

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

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