2 回答
TA贡献2080条经验 获得超4个赞
不是只取了a的值就结束了 而是第二个scanf取到了一个' '(空格)
要理解这个你需要一点相关的知识
实际上当你输入完a后你按回车键确认输入的时候产生了一个'\n'
前一个scanf取走a后在缓冲区内其实还有一个'\n'存在
于是第二个scanf就取走了 结果看取来就像是只去走了a的值一样 要想你的程序正常 只要在printf("please putin your card number:");
scanf("%l",&a);
printf("please putin your cardnumber again:");
scanf("%l",&b);
中间加一个getchar();取走'\n'就可以了
即
printf("please putin your card number:");
scanf("%l",&a);
getchar();
printf("please putin your cardnumber again:");
scanf("%l",&b);为什么只取了a的值就结束
TA贡献1847条经验 获得超7个赞
main()
{
int a,b;
printf("please putin your card number:\n");
scanf("%d",&a);
printf("please putin your cardnumber again:\n");
scanf("%d",&b);
printf("a=%d,b=%d\n",a,b);
}
你的那个%l 是什么意思啊
你是想读取 长整型的数据吗 %ld 是读取长整型
- 2 回答
- 0 关注
- 267 浏览
添加回答
举报