请看看这段代码错在哪里?
本程序实现对字符串中删除字母#include<stdio.h>
#include<string.h>
void main()
{
char s;
char ch;
void delchar(char x,char y);
printf("Pleas input some charactes:\n");
gets(s);
printf("Please input a character:\n");
ch=getchar();
delchar(s,ch);
}
void delchar(char x,char y)
{
char *p,*p1,z;
int a;
p=x;
printf("%s\n",p1);
while(*p!='\0'){
if(*p!='c')
{
*p1=*p;
}
p++;
p1++;
}
printf("%s",p1);
} 问题1: int a;//看清楚 a 后面的“ ;”,这是中文输入的分号
p=x;
问题2:p=x;
printf("%s\n",p1);//只给指针p赋值,p1没有赋值,不能输出
问题3:while循环里面的代码根本没有起到删除字符“c”的作用,思路既有点问题了。。。
建议用数组解决,将字符串纯如数组,逐个判断,不是’c '的,就输出,否则不输出。当然指针链表也可以实现。
问题3只是个人看法 恩恩额
页:
[1]