| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 992 人关注过本帖
标题:把别人的一个程序改造,却怎么也不能正确运行了,求助
只看楼主 加入收藏
yunfeishizhe
Rank: 2
等 级:论坛游民
帖 子:40
专家分:54
注 册:2010-4-3
收藏
得分:5 
char j;         
    printf("输入要进行运算的数字:");
    scanf("%f,%f",&i,&k);
执行这条语句时最后一个输入字符是换行符,被保存在
输入缓冲区,再执行printf("输入运算符:");
        scanf("%c",&j)时
因为要读取的是个字符,所以就把换行符给了j,结果就会执行default语句了,再循环,

从键盘输入的字符都是被保存在标准输入缓冲区stdin文件,
在第二个scanf前加个getchar()吃掉换行符就可以了
2010-06-19 19:37
yunfeishizhe
Rank: 2
等 级:论坛游民
帖 子:40
专家分:54
注 册:2010-4-3
收藏
得分:0 
回复 9楼 huxiangwenhu
因为你第二个scanf函数读取的是一个数字而不是字符,scanf函数当然不会把回车读给它了
2010-06-19 19:40
sjw903
Rank: 2
等 级:论坛游民
帖 子:9
专家分:14
注 册:2008-10-3
收藏
得分:0 
说的对, 要清除缓存
2010-06-20 21:01
快速回复:把别人的一个程序改造,却怎么也不能正确运行了,求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016785 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved