标题:求教 不胜感激
取消只看楼主
落玉
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-9-14
结帖率:0
已结贴  问题点数:20 回复次数:2 
求教 不胜感激

麻烦问一下谢谢

#include <stdio.h>
#include <string.h>

void fun(char s[],int c)
{
int i=0;
char *p;
p=s;
while(*p)
{
if(*p!=c)
{s[i]=*p;
i++;}
p++;
}
s[i]=0;
}

main()
{
static char str[]="turbo c and borland c++";
char ch;
FILE *out;
printf("原始字符串:%s\n",str);
printf("输入一个字符:");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
strcpy(str, "turbo c and borland c++");
fun(str, 'a');
out = fopen("out.dat", "w");
fprintf(out, "%s", str);
fclose(out);
}
-------------------------------------------------------------------------------

while(*p)
{
if(*p!=c)
{s[i]=*p;
i++;}
p++;
}
注意此处
落玉<bilike@vip. 12:34:44
这个程序是要把要求的字符从字符串中删除
落玉<bilike@vip. 12:35:20
为什么
while(*p)
{
if(*p!=c)
{s[i]=*p;
i++;}
p++;
}
就输出正确
落玉<bilike@vip. 12:35:57
为什么
while(*p)
{
if(*p!=c)
s[i]=*p;
i++;
p++;
}
这样会按原来字符串输出
 求教 不胜感激
 
搜索更多相关主题的帖子: 感激 
2010-09-14 12:46
落玉
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-9-14
得分:0 
2010-09-14 13:09
落玉
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-9-14
得分:0 
谢谢。。。我估计脑子进水了
2010-09-14 13:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-320389-1-1.html




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

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