#include <stdio.h> int main() { char str[100], ch, *pt; int i = 0; gets(str); ch = getchar(); pt = str; while ( ) { while ( ) pt++; str[i++] = *pt; if (*pt != '\0') ; } str[i] = '\0'; puts(str); return 0; },这是一个要求字符串中删除给定字母的程序,请帮我填两个while语句的条件,以及if语句后一句的内容
时间: 2024-01-27 08:04:49 浏览: 81
<stdioh>常用函数-函数与指针
好的,根据你的要求,我来帮你填写代码。下面是修改后的程序:
```
#include <stdio.h>
int main() {
char str[100], ch, *pt;
int i = 0;
printf("请输入一个字符串:");
gets(str);
printf("请输入要删除的字母:");
ch = getchar();
pt = str;
while (*pt != '\0') {
while (*pt == ch)
pt++;
str[i++] = *pt;
if (*pt != '\0')
pt++;
}
str[i] = '\0';
printf("删除后的字符串为:%s", str);
return 0;
}
```
第一个 while 循环的条件是 *pt == ch,表示当前字符是要删除的字母,需要跳过不处理。第二个 while 循环的条件是 *pt != '\0',表示还没有到达字符串的结尾,需要继续处理下一个字符。if 语句后面的代码是 pt++,表示将指针 pt 后移一位,指向下一个字符。
阅读全文