| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1294 人关注过本帖
标题:运行结果是???
只看楼主 加入收藏
majunjie991010
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-7-18
收藏
 问题点数:0 回复次数:11 
运行结果是???

#include<stdio.h>

void abc(char *str)

{int a,b;

for(a=b=0;str[a]!='\0';a++)

if(str[a]!='c')

str[b++]=str[a];

str[b]='\0';}

void main()

{char str[]="abcdef";

abc(str);

printf("str[]="%d",str);}

请问各位大哥str再这里是什么作用,最后输出的值是多少?谢了!!

搜索更多相关主题的帖子: str 结果 void abc char 
2004-07-31 12:10
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 
str是字符型数组,函数功能是把字符串中的字符'c'去掉

我的主页 http://www.
2004-07-31 12:24
majunjie991010
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-7-18
收藏
得分:0 
是不是用if语句来达到着一步,

但:str[b++]=str[a];

str[b]='\0';}着一步是用来做什么的?


2004-07-31 14:29
majunjie991010
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-7-18
收藏
得分:0 
再这里先谢了,二楼的斑竹了

2004-07-31 14:30
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
收藏
得分:0 

作用jzh2004所说。

可是我看了,程序最后一行:printf("str[]="%d",str); “%d”应该改成“%s”才可以得到预期的结果的。


欢迎加入 MVC 技术讨论群(新群:90093426)
2004-07-31 14:36
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

要注意~ “str[b++]=str[a]; str[b]='\0';}着一步是用来做什么的?”

这不是一步,前者是归if语句管,如果sta[a]=='c'的话,那它将不被执行。后者没人管,不管是abcdefg都会被执行一次。两个语句不一定会被同时执行~这点要注意。

void abc(char *str) { int a,b; for(a=b=0;str[a]!='\0';a++) if(str[a]!='c') str[b++]=str[a]; str[b]='\0'; }


淘宝杜琨
2004-07-31 14:58
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用神vLinux飘飘在2004-07-31 14:58:06的发言:

要注意~ “str[b++]=str[a]; str[b]='\0';}着一步是用来做什么的?”

这不是一步,前者是归if语句管,如果sta[a]=='c'的话,那它将不被执行。后者没人管,不管是abcdefg都会被执行一次。两个语句不一定会被同时执行~这点要注意。

void abc(char *str) { int a,b; for(a=b=0;str[a]!='\0';a++) if(str[a]!='c') str[b++]=str[a]; str[b]='\0'; }

错了。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-07-31 15:04
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
错在那里?我觉得用词和分析都十分小心了呀

[此贴子已经被作者于2004-07-31 15:08:25编辑过]



淘宝杜琨
2004-07-31 15:06
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

后者没人管,不管是abcdefg都会被执行一次。两个语句不一定会被同时执行~这点要注意。

str[b]='\0'; 只执行一次


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-07-31 15:09
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

哎~是是是是,呀呀,自己都打错了还不知道~~哈哈,应该是:

后者没人管,不管是abcdefg都 只 会被执行一次。两个语句不一定会被同时执行~这点要注意。

不好意思哈~

淘宝杜琨
2004-07-31 15:15
快速回复:运行结果是???
数据加载中...
 
   



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

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