| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 850 人关注过本帖
标题:不明白这个代码 什么意思
只看楼主 加入收藏
kzy19920926
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-7-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:13 
不明白这个代码 什么意思
#include<stdio.h>
void fun(char s[])
{
int i,j;
for(i=j=0;s[i];i++)
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&s[i]<='Z')
s[j++]=s[i];
s[j]='\0';
}
void main()
{
char str[]="a1b2c3d4e! f@";
fun(str);
puts(str);
}




能否告诉我 j 在这里起什么作用?
s[j++]=s[i];
s[j]='\0';又是什么意思?
2014-07-15 14:34
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:4 
#include<stdio.h>
void fun(char s[])
{
int i,j;
for(i=j=0;s[i];i++)
{
    if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&s[i]<='Z')
        s[j++]=s[i];
}
s[j]='\0';
}
void main()
{
char str[]="a1b2c3d4e! f@";
fun(str);
puts(str);
}
这下看的懂吗?自己找个字符串试一下,就知道是干什么的了

坚持----------------------------------唯一的道路
shit ! ! !
2014-07-15 14:57
kzy19920926
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-7-15
收藏
得分:0 
回复 2 楼 wssy213
我知道这个代码是干啥的,就是不明白s[j++]=s[i];是干什么的。s[j]='\0';有什么意义?
2014-07-15 15:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
你知道C字符串必须以什么字符结束吗?知道就明白为什么要在最后补上那个字符。

授人以渔,不授人以鱼。
2014-07-15 15:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
s[j++]=s[i];
自己画图观察i、j的变化过程呀

授人以渔,不授人以鱼。
2014-07-15 15:11
kzy19920926
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-7-15
收藏
得分:0 
回复 4 楼 TonyDeng
那为什么是s[j]?
2014-07-15 15:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用kzy19920926在2014-7-15 15:19:43的发言:

那为什么是s[j]?


那你觉得最后的那个字符应是j还是i?

授人以渔,不授人以鱼。
2014-07-15 15:22
kzy19920926
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-7-15
收藏
得分:0 
回复 7 楼 TonyDeng
我都看不懂j有啥作用
2014-07-15 15:34
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
回复 6 楼 kzy19920926
你代入字符串试过了吗?
一步步的推理下来就会知道原因

坚持----------------------------------唯一的道路
shit ! ! !
2014-07-15 15:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵,不能把整个运动过程在脑袋中像电影一样放出来,写程序就比较悬了。

授人以渔,不授人以鱼。
2014-07-15 15:55
快速回复:不明白这个代码 什么意思
数据加载中...
 
   



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

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