| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1196 人关注过本帖
标题:do循环的小问题!
只看楼主 加入收藏
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
收藏
已结贴  问题点数:5 回复次数:4 
do循环的小问题!
#include<stdio.h>

int main()
{char a;
printf("please enter a char:");

do
{scanf("%c",&a);
if(a>='A'&&a<='Z') {a=a+32;printf("%c",a);}
else if(a>='a'&&a<='z') {a=a-32;printf("%c",a);}
}
while(a!='#');
return 0;
}    这个程序没有问题,如果scanf("%c",&a);这句放到do外边,就是在printf("please enter a char:");之后,为什么输出结果会是无限循环的情况?
搜索更多相关主题的帖子: please 
2016-11-15 22:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
好好理解一下scnaf放在do外面就表示只有一次输入机会,而且,scanf("%c",&a);先判断的不是输入的%c,而是'\n',再判断%c所代表的,如果不是输入'#',就会进入无限循环,无限循环证明完毕~
而且,就算放在do里面小心%c吃'\n'~

[此贴子已经被作者于2016-11-15 22:23编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-15 22:20
jdljy1997
Rank: 1
等 级:新手上路
帖 子:17
专家分:3
注 册:2016-11-16
收藏
得分:2 
回复 楼主 troyzyc
do while 语句在满足while语句中的条件时会一直循环。
2016-11-17 11:37
哈斯佛道
Rank: 2
等 级:论坛游民
帖 子:23
专家分:81
注 册:2016-8-15
收藏
得分:2 
do while ,做循环体中的事,直达条件不满足时,结束循环
2016-11-18 13:54
商烟渺
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2016-10-29
收藏
得分:2 
do while 在满足条件的情况下会一直循环。
2016-11-19 21:28
快速回复:do循环的小问题!
数据加载中...
 
   



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

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