在主函数输入一个字符串,在输入一个字符,编写函数delete(),将字符串中的该字符删除
#include<stdio.h>#include<string.h>voiddelete(chars[],charch){inti;for(i=1;s[i]!='\0'...
#include <stdio.h>
#include <string.h>
void delete(char s[],char ch)
{
int i;
for(i=1;s[i]!='\0';i++)
if(s[i]==ch)
strcpy(s+i,s+i+1);
else
i++;
}
void main()
{
char s[81],ch;
gets(s);
ch=getchar();
delete (s,ch);
puts(s);
}
这个程序我调试了一下不能出来
还有我想问一下 strcpy(s+i,s+i+1);这个
交换位置是怎么交换的 比如这里的i=3 难道就是s【3】和s【4】交换么
麻烦编写程序 展开
#include <string.h>
void delete(char s[],char ch)
{
int i;
for(i=1;s[i]!='\0';i++)
if(s[i]==ch)
strcpy(s+i,s+i+1);
else
i++;
}
void main()
{
char s[81],ch;
gets(s);
ch=getchar();
delete (s,ch);
puts(s);
}
这个程序我调试了一下不能出来
还有我想问一下 strcpy(s+i,s+i+1);这个
交换位置是怎么交换的 比如这里的i=3 难道就是s【3】和s【4】交换么
麻烦编写程序 展开
1个回答
展开全部
delete()和库里面的函数名冲突,我改成deletechar()了
#include <stdio.h>
#define LENGTH 20
//这里是删除了字符串中的所有与a相同的字符
//nSize是字符串的长度
int deletechar(char **ppStr, char a, int nSize)
{
char *pStr =*ppStr;
int i,j;
int nPos = -1;
for (i=0;i<nSize;i++)
{
if (a == pStr[i])
{
nPos = i;
}
if (nPos!=-1)
{
for (j=nPos;j<nSize-1;j++)
{
pStr[j] = pStr[j+1];
}
nSize--;
nPos = -1;
}
}
return 0;
}
int main()
{
char str[LENGTH];
char ch;
char *p = str;
printf("Please input a string:\n");
scanf("%s", &str);
printf(("Please input a char:\n");
scanf("%c", &ch);
printf("删除前的字符串为:%s", str);
deletechar(&p, ch, sizeof(str));
printf("删除后的字符串为:%s", str);
getchar();
return 0;
}
希望对你能有所帮助。
#include <stdio.h>
#define LENGTH 20
//这里是删除了字符串中的所有与a相同的字符
//nSize是字符串的长度
int deletechar(char **ppStr, char a, int nSize)
{
char *pStr =*ppStr;
int i,j;
int nPos = -1;
for (i=0;i<nSize;i++)
{
if (a == pStr[i])
{
nPos = i;
}
if (nPos!=-1)
{
for (j=nPos;j<nSize-1;j++)
{
pStr[j] = pStr[j+1];
}
nSize--;
nPos = -1;
}
}
return 0;
}
int main()
{
char str[LENGTH];
char ch;
char *p = str;
printf("Please input a string:\n");
scanf("%s", &str);
printf(("Please input a char:\n");
scanf("%c", &ch);
printf("删除前的字符串为:%s", str);
deletechar(&p, ch, sizeof(str));
printf("删除后的字符串为:%s", str);
getchar();
return 0;
}
希望对你能有所帮助。
追问
呵呵 你复制就算了吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |