使用工具:
Dev-C++
解题思路:
当用户输入了字符串,可以不利用循环求长度,因为每一个字符数组都会在结尾存放一个转义字符\0;然后编写一个循环语句,用循环依次判定字符数组s中的每个字符与x是否相等,若不相等则赋给另一个数组存放,若相等则不赋给另一个数组存放,处理完后另一个数组即为删除了 x字符的数组。也可练习直接在一个数组中处理。
参考代码:
#include <stdio.h>
int main()
{
int i, j = 0;
char ch;
char str[100];
printf("input a string:\n");
scanf("%s", str);
printf("input a character:\n");
scanf(" %c", &ch);
for (i=0; str[i]!='\0'; i++)
{
if (str[i] != ch)
{
str[j++] = str[i];//china n
}
}
str[j] = '\0';
//此时str[i]={china},str[j]={chia},输出的时候没有指定下标是j的字符数组,
//所以不加此语句就会造成,数组里面有多少就输出多少,加上就表示在字符数组第四个位置把a换为\0
printf("%s\n", str);
return 0;
}
运行结果: