gpt4 book ai didi

c - C中字符串中的字母互换

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:40 25 4
gpt4 key购买 nike

我不确定为什么这段代码不起作用。

例如,此代码应该将字符串中的所有 a 切换为 b,将所有 b 切换为 a 并打印结果。

输入:

abcd
a b
c d

预期输出:

badc

代码:

int main()
{
int n, m, i, j;

scanf("%d %d", &n, &m);

char s[n+1], x[m+1], y[m+1];

scanf("%s", s);

for(i=0; i<m; i++)
{
scanf("%c", &x[i]);
scanf("%c", &y[i]);
}

for(j = 0; j < m; j++)
{
for(i = 0; i<n; i++)
{
if(s[i] == x[j])
s[i] = y[j];
else if(s[i] == y[j])
s[i] = x[j];
}
}

printf("%s", s);

return 0;
}

最佳答案

正如我评论的那样,您需要在这些行中的 %c 之前留一个空格

scanf("%c", &x[i]);
scanf("%c", &y[i]);

防止 %c 格式类型读取先前 scanf 调用留在输入缓冲区中的空白。改为

scanf(" %c", &x[i]);
scanf(" %c", &y[i]);

关于c - C中字符串中的字母互换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33397208/

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