| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 729 人关注过本帖
标题:大哥大姐们 有关c++中的break问题 帮帮忙呀 lōve lōve
只看楼主 加入收藏
大头0927
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-12-8
结帖率:50%
收藏
 问题点数:0 回复次数:5 
大哥大姐们 有关c++中的break问题 帮帮忙呀 lōve lōve
/*编程3  10%
程序“p3”,实现功能:从键盘输入一个长度小于50的字符串,字符串中
含有一“#”字符,滤去“#”后所有字母字符,“#”前所有字符不变,
然后在屏幕上输出(原“#”保留,原字符次序不变),下面是一组输入、
输出的样例数据。例如:
输入:Hi20%3#AB2n$3k
输出:Hi20%3#2$3             */
#include<stdio.h>
#include<string.h>
main()
{char s[50];int i,n;
printf("s=");
scanf("%s",s);
for(i=0;i<strlen(s);i++)
if(s[i]=='#') break;
  n=i;
  while(i<strlen(s))
      if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') i++;  
else{s[n]=s[i];i++;n++;}
s[n]='\0';
printf("%s\n",s);
}
 
 
 
 
 
那个break有什么作用呀!作用到哪?还可以移到哪儿?删掉了会怎么样?又怎样解释?麻烦详细说明一下,越详细越好。将十分感激!

[ 本帖最后由 大头0927 于 2011-2-16 19:02 编辑 ]
搜索更多相关主题的帖子: 大哥大 字符串 
2011-02-16 18:40
x88se
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-11
收藏
得分:0 
用for循环从字符串一个一个读取字符,遇到“#”时用break语句退出循环,不会执行for循环内break语句后的语句;
break语句不能移到其他地方,若删掉则不能实现滤去“#”后的字母。
2011-02-16 19:57
coolboyding
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-18
收藏
得分:0 
break 就是退出当前循环
2011-03-02 21:26
大头0927
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-12-8
收藏
得分:0 
回复 3楼 coolboyding
2011-03-19 23:37
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
break是退出for循环。感觉这程序不够简炼。退出循环后再加一个循环将后面的字母置为0,然后输出
2011-03-20 07:44
sdupoplar
Rank: 2
等 级:论坛游民
帖 子:18
专家分:40
注 册:2011-3-24
收藏
得分:0 
我没装C编译器,没运行,感觉
n=i;
应为:
n=i++;
否则就没法“原“#”保留”了。


2011-03-24 10:57
快速回复:大哥大姐们 有关c++中的break问题 帮帮忙呀 lōve lōve
数据加载中...
 
   



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

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