#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
int num = 0;
for (int i = 0; i <= strlen(argv[1]); i++)
if (argv[1][i] != argv[2][0])
{
argv[1][num] = (i == strlen(argv[1])) ? '\0' : argv[1][i];
num++;
}
printf("%s\n", argv[1]);
return 0;
}
运行结果:
return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。
return语句用来结束循环,或返回一个函数的值。
1、return 0,说明程序正常退出,返回到主程序继续往下执行。
2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。
源程序以及算法注释如下:
#include<stdio.h>
#include<string.h>
int main()
{
int i;
char *p,*q;//定义指针变量用于循环遍历
char str[100] = {NULL};//定义删除前的字符串
char st[100] = {NULL};//定义删除后的字符串
q=st;//取出st字符数组的首地址
p=str;//取出str字符数组的首地址
gets_s(str);//输入字符串
char a;//定义删除字符变量
printf("请输入要删除的字符");
a = getchar();//输入谁需要删除的字符变量
for(i=0;*(p+i)!='\0';i++)//循环遍历,将非删除字符的元素取出
{
if(*(p+i)!=a)//非删除元素取出
{
*q=*(p+i);//非删除元素拷贝
q++;//地址加一
}
}
printf("%s", st);//输出删除后字符串
return 0;
}
输出结果如下:
扩展资料:
其他实现方法:
#include<stdio.h>
#include<string.h>
int main()
{
int j=0,i;
char str[20],c;
gets(str);
scanf("%c",&c);
for(i=0; str[i]!='\0'; i++)
if(str[i]!=c)
str[j++]=str[i];
str[j]='\0';
printf("%s\n",str);
return 0;
}