| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1051 人关注过本帖
标题:解释一下程序哈
只看楼主 加入收藏
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分: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已经指向s1的最后一个字符的下一个位置
i++;
while(s2[j]!='\0')
s1[i++]=s2[j++];//这个不懂哦. //然后将s2加在s1的后面,i已经不是指向的第一个位置
s1[i]='\0'; //这个为什么要加上去? //在c中'\0'表示字符串的结束
printf("%s",s1);

2007-10-31 22:59
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
好象有点懂了,谢谢哈。
再帮忙看看这个程序哪出问题了.程序的功能是:输入一个字符,要求将字符串中该字符删去.
char str[81];
int i,j;
char ch;
gets(str);
ch=getchar();
for(i=j=0;str[i]!='\0';i++)
if(str[i]!=ch);
str[j++]=str[i];
str[j]='\0';
printf("%s",str);

2007-11-01 12:56
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
楼主这样改一下,for语句有问题,if的判断条件有误
for(i=j=0;str[i]!='\0';i++)
{
if(str[i]==ch)
;
else
str[j++]=str[i];
}

[此贴子已经被作者于2007-11-1 13:09:18编辑过]


英者自知,雄者自胜
2007-11-01 13:08
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zzsy04et138在2007-11-1 12:56:23的发言:
好象有点懂了,谢谢哈。
再帮忙看看这个程序哪出问题了.程序的功能是:输入一个字符,要求将字符串中该字符删去.
char str[81];
int i,j;
char ch;
gets(str);
ch=getchar();
for(i=j=0;str[i]!='\0';i++)
if(str[i]!=ch);//小失误,找不着就会出现大问题
str[j++]=str[i];
str[j]='\0';
printf("%s",str);


倚天照海花无数,流水高山心自知。
2007-11-01 13:09
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
回复:(nuciewth)以下是引用zzsy04et138在2007-11-1...
好象还是不行...

2007-11-01 13:27
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
以下是引用静思在2007-11-1 13:08:10的发言:
楼主这样改一下,for语句有问题,if的判断条件有误
for(i=j=0;str[i]!='\0';i++)
{
if(str[i]==ch)
;
else
str[j++]=str[i];
}

哦...我写的好象漏写大括号了..呵呵


2007-11-01 13:29
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用静思在2007-11-1 13:08:10的发言:
楼主这样改一下,for语句有问题,if的判断条件有误
for(i=j=0;str[i]!='\0';i++)
{
if(str[i]==ch)
;
else
str[j++]=str[i];
}

纯属多余,LZ的判断就可以了.
你加空判断有什么意义.


倚天照海花无数,流水高山心自知。
2007-11-01 13:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zzsy04et138在2007-11-1 13:29:15的发言:

哦...我写的好象漏写大括号了..呵呵

不用大括号没有错,不会出现编译和逻辑错误.但建议要写.


倚天照海花无数,流水高山心自知。
2007-11-01 13:39
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zzsy04et138在2007-11-1 13:27:31的发言:
好象还是不行...

#include<stdio.h>
int main()
{
char str[81];
int i,j;
char ch;
gets(str);
ch=getchar();
for(i=j=0;str[i]!='\0';i++)
{

if(str[i]!=ch)
{
str[j++]=str[i];
}
}
str[j]='\0';
printf("%s\n",str);
return 0;
}
//怎么不行了?


倚天照海花无数,流水高山心自知。
2007-11-01 13:42
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
回复:(nuciewth)以下是引用静思在2007-11-1 13:08:...
呵呵,显得是有点多余,我原来还没发现,多谢版主提醒

英者自知,雄者自胜
2007-11-01 13:45
快速回复:解释一下程序哈
数据加载中...
 
   



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

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