| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1051 人关注过本帖
标题:解释一下程序哈
只看楼主 加入收藏
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
 问题点数:0 回复次数:25 
解释一下程序哈
题目是要连接两个字符串
char s1[80],s2[40];
int i=0,j=0;
gets(s1);
gets(s2);
while(s1[i]!='\0')
i++;
while(s2[j]!='\0')
s1[i++]=s2[j++];//这个不懂哦.
s1[i]='\0'; //这个为什么要加上去?
printf("%s",s1);
搜索更多相关主题的帖子: 字符串 
2007-10-29 14:54
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zzsy04et138在2007-10-29 14:54:22的发言:
题目是要连接两个字符串
char s1[80],s2[40];
int i=0,j=0;
gets(s1);
gets(s2);
while(s1[i]!='\0')
i++;
while(s2[j]!='\0')
s1[i++]=s2[j++];//这个不懂哦.这个不就是做连接啊,把S2的接到S1后面
s1[i]='\0'; //这个为什么要加上去?//因为是个字符串,所以后面要'\0'结束,要不然用printf("%s",s1);会出错.
printf("%s",s1);


倚天照海花无数,流水高山心自知。
2007-10-29 15:11
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
s1[i++]=s2[j++];//这个不懂哦.这个不就是做连接啊,把S2的接到S1后面
这个是连接啊,我还以为是赋值,然后就觉得很奇怪..

2007-10-29 15:30
苦中求乐
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-10-27
收藏
得分:0 
我认为这应该是给字符数组s1中的后继元素赋值,而这个赋值语句的作用是把s2接到s1后面

笨鸟先飞。可惜我既笨又懒!
2007-10-29 15:42
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zzsy04et138在2007-10-29 15:30:52的发言:
s1[i++]=s2[j++];//这个不懂哦.这个不就是做连接啊,把S2的接到S1后面
这个是连接啊,我还以为是赋值,然后就觉得很奇怪..

赋值没有错啊,把S2的赋给S1.


倚天照海花无数,流水高山心自知。
2007-10-29 15:53
苦中求乐
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-10-27
收藏
得分:0 
呵呵,斑竹当然没说错,是提问的小妹妹理解错了

笨鸟先飞。可惜我既笨又懒!
2007-10-29 16:01
lee198409
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-15
收藏
得分:0 

while(s2[j]!='\0')
s1[i++]=s2[j++];//这个不懂哦.这个不就是做连接啊,把S2的接到S1后面

改为while(s2[j]!='\0')
*s1[i++]=*s2[j++];
要考虑s1中剩下的空间能够装下s2中的字符,不然就出现数组出界的问题

'\0'是字符串结束标志,如果没有这个标志的话
你可以试一试打印一个字符串adfdsaf\0dafdas,看\0后面的东西还能不能打出来

2007-10-29 23:48
rayxiang
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-10-22
收藏
得分:0 
                  学习老................

...........没 有 音 乐 就 没 法 活............ ...........不 会C 语 言 我 可 以 问...........
2007-10-30 15:12
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
我觉得楼主应该再看一下自增运算符那块。
还有就是C风格字符串都是以'\0'为结束标志的。

[此贴子已经被作者于2007-10-30 16:27:11编辑过]


天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2007-10-30 16:26
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
以下是引用nuciewth在2007-10-29 15:53:19的发言:

赋值没有错啊,把S2的赋给S1.

那s1原来的值不是没了?关键是这不懂...

[此贴子已经被作者于2007-10-31 22:35:08编辑过]


2007-10-31 22:34
快速回复:解释一下程序哈
数据加载中...
 
   



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

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