帮忙看下这个简单的c语言程序错在哪。

2024-12-31 08:30:32
推荐回答(3个)
回答1:

程序只一处有问题,第一个循环体内:
if("str[i]=='x'") continue;

引号是多余的,去掉即可

回答2:

#include // 包含标准头文件要用 <>, 自定义头文件用 ""
void del(char str[],char x)
{
int i,j;
char str1[100];
for(i=0,j=0;str[i]!='\0';i++)
{
if(str[i]==x) // 这里原来的判断有误
continue;
else // 这里的语句多于一个要有 {}
{
str1[j]=str[i];
j++;
}
}
str1[j]='\0';
printf("%s",str1);
}
int main() // 要使用标准的 main() 函数, void main() 现在的标准已经不支持了
{
void del(char str[],char x);
char str[20],a; // 不需要声明 str1[100];
printf("请输入一串字符:");
gets(str);
printf("请输入要删除的字符:");
scanf("%c",&a);
del(str,a);
return 0; // 要有返回值表示运行成功, 返回给操作系统
}

回答3:

#include "stdio.h"
void del(char str[],char x)
{
int i,j;
char str1[100];
for(i=0,j=0;str[i]!='\0';i++)
{
if("str[i]=='x'") continue; //找到要删除的字符就跳出循环将字符替换成'\0',后面的字符呢
else str1[j]=str[i];j++;
}
str1[j]='\0';
printf("%s",str1);
}
void main()
{
void del(char str[],char x); //此处无需再声明
char str[20],str1[100],a; //无需在主函数中定义del函数的str1[100]
printf("请输入一串字符:");
gets(str);
printf("请输入要删除的字符:");
scanf("%c",&a);
del(str,a);
}