|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 帮忙分析一下流程
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
335
人关注过本帖,
1
人收藏
标题:
帮忙分析一下流程
只看楼主
加入收藏
小小熊宝宝
来 自:江苏无锡
等 级:
论坛游民
威 望:
2
帖 子:183
专家分:38
注 册:2008-8-12
结帖率:
100%
楼主
收藏
(1)
问题点数:0 回复次数:5
帮忙分析一下流程
有一个函数.书上说是删除字符串中字符,但我没看懂该函数是如何运行的,帮忙解释一下流程。
#include<stdio.h>
void delete_string(char str[ ],char ch)
{
int i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]='\0';
}
高手解释一下流程如何一步一步运行的,谢谢
搜索更多相关主题的帖子:
函数
2008-08-29 06:58
举报帖子
使用道具
赠送鲜花
小小熊宝宝
来 自:江苏无锡
等 级:
论坛游民
威 望:
2
帖 子:183
专家分:38
注 册:2008-8-12
第
2
楼
收藏
得分:0
下面为什么是j++阿?,if语句中i没有++,str[i]赋给str[j++]是什么意思阿
2008-08-29 07:02
举报帖子
使用道具
赠送鲜花
qfyzy
等 级:
论坛游民
威 望:
1
帖 子:380
专家分:86
注 册:2008-2-17
第
3
楼
收藏
得分:0
又是指针。
拿个例子来看看。
假设str[]="123456";
ch='3';
在'3'之前,if语句都没用。源程序就是
for(i=j=0;str[i]!='\0';i++)
str[j++]=str[i];(注意后面的语句不是循环里的)
这很清楚,一个自己向自己复制的语句。(i,j始终相等)
当遇到'3'时,i=2,j=2;由于if的存在,str[j++]=str[i];不再执行。
此时j=2;i=3;从此j=i-1,相当于复制3的时候刚好跳过,所以说能删除指定字符。
就好比你有一付平铺的扑克,A,2,3,4,5,6,7,8,9。。。左手代表i,右手代表j,左手总是按顺序拿起一张,给右手,检测符合条件的,右手放回去,不符合条件的右手就不动。
当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-08-29 08:42
举报帖子
使用道具
赠送鲜花
小小熊宝宝
来 自:江苏无锡
等 级:
论坛游民
威 望:
2
帖 子:183
专家分:38
注 册:2008-8-12
第
4
楼
收藏
得分:0
这个是指针啊?
我才看到函数和宏定义,指针还没有看呢!
但是谭浩强的书上函数一章就是这个例子!
我说看来看去看不懂呢!
谢谢楼上的!!
2008-08-29 08:56
举报帖子
使用道具
赠送鲜花
小小熊宝宝
来 自:江苏无锡
等 级:
论坛游民
威 望:
2
帖 子:183
专家分:38
注 册:2008-8-12
第
5
楼
收藏
得分:0
懂了,3Q~~~~
2008-08-29 08:58
举报帖子
使用道具
赠送鲜花
qfyzy
等 级:
论坛游民
威 望:
1
帖 子:380
专家分:86
注 册:2008-2-17
第
6
楼
收藏
得分:0
也不能算指针吧,反正这玩意挺烦的。
当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-08-29 09:14
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
帮忙分析一下流程
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.028699 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved