请问这个程序为什么没法输出?
#include<stdio.h>
void squeeze(char s1[],char s2[])
{
int i, j, k = 0;;
int DO =0;
for (i = 0; s1[i] != '\0'; i++)
{
for(j = 0; s2[j] != '\0'; j++)
{
if (s1[i] == s2[j])
{
DO = 1;
}
if(!DO)
{
s1[k++] = s1[i];
}
}
}
s1[j] = '\0';
}
int main()
{
char s1[] = "4567yuljf";
char c1[] = "ljf";
squeeze(s1,c1);
printf("%s",s1[1]);
}
改成这个, 打印字符数组要给的是数组首地址指针, 不是给 s1[1], 这是数组首个元素
printf("%s",s1);
上面程序我打错了 我想实现的输出结果是去掉ljf的字符串,请问在printf里面应该怎么写?
改成printf("%s",s1);