本帖最后由 骑着飞机去看海 于 2014-7-8 09:57 编辑
刚才在做scanf函数时发现scanf函数对于char类型的数据无法多次获取,但是对于int类型就可以,明杰在视频上也没有讲scanf对%c的数据多次不接收啊,这个怎么做?如何才能完成我的程序?代码如下- #include <stdio.h>
- int main()
- {
- /*
- 这是一个输出你所输入的字母的程序
- */
- char c;
- char d;
- printf("请输入第一个字母\n");
- scanf("%c",&c); //获取第一次输出的字母
- printf("请输入第二个字母\n");
- scanf("%c",&d); //获取第二期输出地字母
- printf("输入的第一个字母是%c,输入的第二个字母是%c",c,d ); //输出两次获取的字母
- /*
- 这是一个输出你所输入的数字的程序
- */
- int a;
- int b;
- printf("请输入第一个数字\n");
- scanf("%d",&a);//获取第一次输出的数字
- printf("请输入第二个数字\n");
- scanf("%ds",&b);//获取第二次输出地数字
- printf("输入的第一个字母是%d,输入的第二个字母是%d",a,b );//输出两次获取的数字
- return 0;
- }
复制代码
在第一个程序中假如输入s后敲击回车键输出的是
请输入第一个字母
s
请输入第二个字母
输入的第一个字母是s,输入的第二个字母是
请输入第一个数字
而第二个程序运行都正常,这是怎么回事?
如何才能实现第一个程序的运行啊,不要改变输出样式啊。
|