注册 登录
编程论坛 C语言论坛

输出不符预期

Z1020 发布于 2020-03-06 20:19, 2849 次点击
#include<stdio.h>
int main()
{
    int i,j;
    scanf("%d:%d",&i,&j);
    printf("%d",j);
    return 0;
}
代码如上。我在输入8:5后输出的结果为8:1
前一个数可以正常输出,后一个数无论输入什么最终都是输出1。
请问这是为什么呢?(感觉这是一个智障问题,但是我真的就卡在这了...)
谢谢大家
13 回复
#2
Z10202020-03-06 20:19
我枯了
#3
吕孟伟2020-03-06 20:41
你确定你输入8:5后输出的结果为8:1?换句话说,你的printf语句中只有一个%d,怎么会输出两个数呢?还有,按你的代码,最终输出只会是j的值,怎么会无论输入什么最终都是输出1,除非你一直在输入某个值:1。
#4
xianfajushi2020-03-06 21:42
无图无真相
#5
林月儿2020-03-06 21:45
可能是输入法,中英文冒号搞错了吧,确认下呢
#6
hbccc2020-03-06 21:51
你只输出一个数呀,哎呦喂
#7
自学的数学2020-03-06 23:01
我估计与编译器有关。在我 这里程序是没有问题的。我用的是DEV C++。
#8
Samson幽客2020-03-06 23:12
输入法问题吧,如果是输出打印两个变量,你的printf就是语义错误;
#9
Z10202020-03-07 10:42
回复 3楼 吕孟伟
我明白了就是输入法的问题,在中文状态下的冒号就只会输出1,在英文状态下就正常,谢谢!我的问题确实没有说清楚,对不起!
#10
Z10202020-03-07 10:42
回复 4楼 xianfajushi
已明白,是输入法的问题!谢谢!
#11
Z10202020-03-07 10:43
回复 5楼 林月儿
对!就是输入法问题,感谢!!!
#12
Z10202020-03-07 10:44
回复 6楼 hbccc
对不起我的问题没有描述清楚,已解决!谢谢!
#13
Z10202020-03-07 10:45
回复 7楼 自学的数学
已解决!谢谢!
#14
Z10202020-03-07 10:46
回复 8楼 Samson幽客
对不起,我的问题没有描述清楚,就是输入法的问题,已解决,谢谢!
1