| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 632 人关注过本帖
标题:请高手解释关于while的疑惑
只看楼主 加入收藏
jack222
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2008-6-16
结帖率:50%
收藏
 问题点数:0 回复次数:9 
请高手解释关于while的疑惑
#include<stdio.h>
main()
{
    char c;
    scanf("%c",&c);

    while(c !='n')
        {printf("%c**",c);
         scanf("%c",&c);  //输入y,求高手解释下为什么执行两次循环材执行一次scanf语句了。
         
        }
}

2011-05-19 18:20
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
楼主在while中的scanf后面加一个getchar();试试
2011-05-19 18:25
lcddhr
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2011-5-18
收藏
得分:0 
你输入一个字符然后回车的时候  事实上你已经输入了两个字符,  到while语句时,先检查第一个字符 然后执行printf语句 到while语句中的scanf时 则认为你你输入的字符是回车 所以又倒回while循环判断 打印出(回车**),所以就等于执行了两次循环了~~
2011-05-19 18:48
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
scanf吃掉了你的回车

                                         
===========深入<----------------->浅出============
2011-05-19 20:13
xiangqiu1986
Rank: 2
等 级:论坛游民
帖 子:79
专家分:95
注 册:2011-5-5
收藏
得分:0 
没太看明白!

学无止境!
2011-05-19 20:17
格雷迪
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:24
专家分:1
注 册:2011-2-21
收藏
得分:0 
就是回车当成字符处理了
2011-05-19 20:24
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:0 
以下是引用lcddhr在2011-5-19 18:48:57的发言:

你输入一个字符然后回车的时候  事实上你已经输入了两个字符,  到while语句时,先检查第一个字符 然后执行printf语句 到while语句中的scanf时 则认为你你输入的字符是回车 所以又倒回while循环判断 打印出(回车**),所以就等于执行了两次循环了~~
正解呀
2011-05-20 14:26
q497964159
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2011-5-18
收藏
得分:0 
以下是引用lcddhr在2011-5-19 18:48:57的发言:

你输入一个字符然后回车的时候  事实上你已经输入了两个字符,  到while语句时,先检查第一个字符 然后执行printf语句 到while语句中的scanf时 则认为你你输入的字符是回车 所以又倒回while循环判断 打印出(回车**),所以就等于执行了两次循环了~~
正解
2011-05-20 16:03
jack222
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2008-6-16
收藏
得分:0 
哦,明白了,经试验验证确实如此,谢谢了!
2011-05-20 16:37
bccn_1990525
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-5-20
收藏
得分:0 
多个字符的输入要注意处理垃圾数据,受教了
2011-05-20 17:28
快速回复:请高手解释关于while的疑惑
数据加载中...
 
   



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

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