本题要求输入一个字符串S和两个字符A和B,补足程序中缺失的代码部分,使运行程序时可以将字符串S中的字符A替换为字符B。 #include<stdio.h> int main() { char s[50],a,b,*p; //程序要实现用字符变量b替换字符串s中的字符变量a gets(s); scanf("%c %c",&a,&b); for( ) if( ) ; puts(s); return 0; }
时间: 2024-01-13 08:05:38 浏览: 82
编一程序,使用scanf()函数输入变量a,b的值,将a,b的值互换后,再输出a,b的值。.c
5星 · 资源好评率100%
好的,下面是实现这个功能的代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char s[50], a, b, *p;
gets(s);
scanf("%c %c", &a, &b);
for (p = s; *p != '\0'; p++) {
if (*p == a) {
*p = b;
}
}
puts(s);
return 0;
}
```
在这个程序中,我们首先声明了一个字符数组 `s`,以及两个字符变量 `a` 和 `b`,它们分别表示要替换的字符和替换后的字符。然后,我们使用 `gets` 函数从标准输入中读取字符串 `s`。接着,我们使用 `scanf` 函数读取字符变量 `a` 和 `b`。
在循环中,我们使用一个指向字符串的指针 `p`,遍历字符串中的每一个字符。如果当前字符等于要替换的字符 `a`,则将它替换为字符变量 `b`。最后,我们使用 `puts` 函数打印出替换后的字符串。
需要注意的是,在这个程序中我们使用 `gets` 函数读取字符串,这个函数有一些安全问题,容易导致缓冲区溢出。实际中应该使用更安全的函数来读取字符串,比如 `fgets` 函数。
阅读全文