gpt4 book ai didi

代码不能正确地用另一个替换字符串中的一个字符

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:17 25 4
gpt4 key购买 nike

我有这个程序要求用户输入一个字符串和两个字符。一个字符被替换,另一个字符将替换旧字符。我调用了一个名为 replace() 的函数,它循环遍历字符串,查找旧字符并将其替换为新字符。它在 main() 中打印新字符串,但它不能正常工作。我做错了什么?

#include <stdio.h>
#include <string.h>
void replace(char string[], char old, char new);

int main()
{
char input[100], newChar, oldChar;
char newstr[100];

printf("Enter a string: ");
fgets(input, 100, stdin);


printf("Enter a character to replace: ");
scanf("%c", &oldChar);

printf("Replace character with?: ");
scanf("%c", &newChar);
getchar();

replace(input, oldChar, newChar);

printf("Result: %s\n", input);


}

void replace(char string[], char old, char new)
{
int length = strlen(string);
int i = 0;

for(i=0; i<length; i++)
{
if(string[i] == old)
{
string[i] = new;
}
}
}

最佳答案

请试试这个,我认为缺少 getchar:

printf("Enter a character to replace: ");
scanf("%c", &oldChar);
getchar();

printf("Replace character with?: ");
scanf("%c", &newChar);
getchar();

关于代码不能正确地用另一个替换字符串中的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32805255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com