| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3155 人关注过本帖, 1 人收藏
标题:一道想不明白的程序题目
只看楼主 加入收藏
大风车
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-7-31
收藏(1)
 问题点数:0 回复次数:9 
一道想不明白的程序题目
内容如下:
设有如下函数定义,则输出的结果为----
char*fun(char*str)
{char*p=str;
 while(*p)
  {if(*p>'d')continue;
   p++;
   }
    ruturn p;
   }
main()
{printf("%s\n",fun("welcome!"));}
A.welcome!    C.w  D 程序陷入死循环中
疑问:d的ASCII码是97嘛,然后下面执行的那个if语句是要大于d嘛,所以我就认为后面的程序应该是执行到字母c的时候循环结束,然后就输出wel这样的答案啊,我到底什么地方搞糊涂了啊!??
搜索更多相关主题的帖子: welcome continue 
2008-07-31 10:26
yi1018
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-7-25
收藏
得分:0 
回复 1# 大风车 的帖子
我的大致印象是if(*p>'d')continue;
  它执行完之后, p++;是这有问题

Don't repeat yourself !!!
2008-07-31 14:46
yi1018
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-7-25
收藏
得分:0 
回复 1# 大风车 的帖子
好久没有接触C++了你在看下,希望可以给你一点灵感

Don't repeat yourself !!!
2008-07-31 14:47
chuxuhaha
Rank: 1
来 自:咸阳
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-8-2
收藏
得分:0 
回贴
你是不是搞错了d的阿斯码是100吧
2008-08-02 21:44
sdluhaibing
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-8-4
收藏
得分:0 
char是单字符型变量
char*str 不能作为Welcome!的传递参数吧!
不知道对不对...
2008-08-07 11:33
守鹤
Rank: 4
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
收藏
得分:0 
此程序陷入了死循环
2008-09-10 19:57
mxxtxmyn
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-9-10
收藏
得分:0 
break是当执行到这个命令时立即跳转出来,然后执行循环体外的下一条语句,
而continue当条件为假时,跳过这次循环,并不是跳出循环体,而是接着执行循环内的下一次的循环
我觉得这个程序会一直比较 ‘w’和‘d’
if 条件一直成立
所以会进入死循环
还有
d的ascii码是100
你可以用 printf("%d",'d')查看一下
2008-09-11 18:35
jdshaoheyi
Rank: 1
等 级:新手上路
帖 子:133
专家分:5
注 册:2008-11-6
收藏
得分:0 
死循环while(*p),永远符合条件
2008-11-07 08:34
wangfujun
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-7
收藏
得分:0 
赞同7#的看法  还有传递的是welcome的首地址
2008-11-11 12:45
tp312cf7
Rank: 2
等 级:论坛游民
帖 子:5
专家分:14
注 册:2009-11-25
收藏
得分:0 
7楼同学很好,9楼也不错

一个编程爱好者,孤单前行
2009-11-30 11:35
快速回复:一道想不明白的程序题目
数据加载中...
 
   



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

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