C语言,编写函数squeeze(s1,s2),将字符串s1中任何与字符串s2中匹配的字符都删除.编译通过了,没有打印结果?
#include<stdio.h>#include<stdlib.h>voidsqueeze(chars1[],chars2[]){inti,j,k;for(i=k=0;...
#include <stdio.h>
#include <stdlib.h>
void squeeze(char s1[],char s2[])
{
int i,j,k;
for (i=k=0;s1[i]!='\0';i++)
{
for(j=0;s2[j]!='\0'&&s2[j]!=s1[i];j++)
;
if (s2[j]=='\0')
s1[k++]=s1[i];
}
s1[k]='\0';
printf("s1中去除与s2相同的符号后剩下的是%s\n",s1);
}
main()
{
char s1,s2;
s1="hello world!";
s2="how are you?";
void squeeze(char s1[],char s2[]);
} 展开
#include <stdlib.h>
void squeeze(char s1[],char s2[])
{
int i,j,k;
for (i=k=0;s1[i]!='\0';i++)
{
for(j=0;s2[j]!='\0'&&s2[j]!=s1[i];j++)
;
if (s2[j]=='\0')
s1[k++]=s1[i];
}
s1[k]='\0';
printf("s1中去除与s2相同的符号后剩下的是%s\n",s1);
}
main()
{
char s1,s2;
s1="hello world!";
s2="how are you?";
void squeeze(char s1[],char s2[]);
} 展开
3个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
void squeeze(char s1[],char s2[])
{
int i,j,k;
for (i=k=0;s1[i]!='\0';i++)
{
for(j=0;s2[j]!='\0'&&s2[j]!=s1[i];j++)
;
if (s2[j]=='\0')
s1[k++]=s1[i];
}
s1[k]='\0';
printf("s1中去除与s2相同的符号后剩下的是%s\n",s1);
}
main()
{
char s1[20]="hello world!";
char s2[20]="how are you?";
squeeze(s1,s2);
}
这样就对了,字符串数组的初始化错了。
#include <stdlib.h>
void squeeze(char s1[],char s2[])
{
int i,j,k;
for (i=k=0;s1[i]!='\0';i++)
{
for(j=0;s2[j]!='\0'&&s2[j]!=s1[i];j++)
;
if (s2[j]=='\0')
s1[k++]=s1[i];
}
s1[k]='\0';
printf("s1中去除与s2相同的符号后剩下的是%s\n",s1);
}
main()
{
char s1[20]="hello world!";
char s2[20]="how are you?";
squeeze(s1,s2);
}
这样就对了,字符串数组的初始化错了。
展开全部
重写吧,太多概念错了。
main 函数里:
s1 和 s2 都是 char 也就是字符,不能赋值成 s1[] 或 s2[]。
squeeze 里面就错更多了。
建议仔细看看书再写
main 函数里:
s1 和 s2 都是 char 也就是字符,不能赋值成 s1[] 或 s2[]。
squeeze 里面就错更多了。
建议仔细看看书再写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误太多了,你需要看一些基础的C语言知识
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询