我是菜鸟,遇到大问题了,请高手解决

luo496724812 2009-10-15 01:04:25
运行以下代码:
#include<stdio.h>
void main()
{
int a,b,c;
printf("please input a,b\n");
scanf("%d%d",&a,&b);
c=a+b;
printf("%d+%d=%d\n",a,b,c);
}
输入a=1,b=2
得到的结果不是1+2=3,而是1+1988486269=1988486270,我的系统是vista64位,在visual studio2008里是这样,在C-Free4.0里也是这样甚至在虚拟机里的xp下vc6++也是这样,请问是什么问题?
...全文
83 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
a369381959 2009-10-15
  • 打赏
  • 举报
回复
看来问题已经解决了 顶5楼
luo496724812 2009-10-15
  • 打赏
  • 举报
回复
谢谢大家,问题已解决,是输入的问题
JikeBaker 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 freezezdj 的回复:]
scanf("%d%d",&a,&b);
你输入的时候必须是12;
12要紧挨。
[/Quote]

这个恐怕不是吧,scanf的格式里如果没得其他字符间隔的话,默认是空格或TAB来区分输入的(对输入数字而言)
wzywsk 2009-10-15
  • 打赏
  • 举报
回复
你试试32位的系统吧~
冻结 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhuolei1026 的回复:]
引用 1 楼 freezezdj 的回复:
scanf("%d%d",&a,&b);
你输入的时候必须是12;
12要紧挨。

楼主可以
scanf("%d,%d",&a,&b);
然后输入1,2


scanf里的格式说明,不能用逗号作两个数据间的分隔符,楼主的scanf("%d%d",&a,&b);是对的
[/Quote]

试了一下,
scanf("%d,%d",&a,&b);
然后输入1,2
是可以的。

scanf("%d%d",&a,&b);
然后输入1 2
也是可以的。
huqinglu123 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 freezezdj 的回复:]
scanf("%d%d",&a,&b);
你输入的时候必须是12;
12要紧挨。

楼主可以
scanf("%d,%d",&a,&b);
然后输入1,2
[/Quote]
是不是输入格式有问题,要不就是编译器的原因
zhuolei1026 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 freezezdj 的回复:]
scanf("%d%d",&a,&b);
你输入的时候必须是12;
12要紧挨。

楼主可以
scanf("%d,%d",&a,&b);
然后输入1,2
[/Quote]

scanf里的格式说明,不能用逗号作两个数据间的分隔符,楼主的scanf("%d%d",&a,&b);是对的
cats_home 2009-10-15
  • 打赏
  • 举报
回复
scanf("%d,%d",&a,&b);
然后输入1,2
hanqing2348 2009-10-15
  • 打赏
  • 举报
回复
没问题呀 运行一下都正常呀
北辰猫咪 2009-10-15
  • 打赏
  • 举报
回复
是你编译器的问题,我用visual studio 2008 运行结果正确。
有的老编译器有点麻烦,看似正确的东西就是看不到正确的结果。
lsldd 2009-10-15
  • 打赏
  • 举报
回复
严格按照scanf的格式输入。
冻结 2009-10-15
  • 打赏
  • 举报
回复
scanf("%d%d",&a,&b);
你输入的时候必须是12;
12要紧挨。

楼主可以
scanf("%d,%d",&a,&b);
然后输入1,2

69,382

社区成员

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

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