gpt4 book ai didi

c - c中scanf 3次不起作用?

转载 作者:行者123 更新时间:2023-11-30 15:23:36 25 4
gpt4 key购买 nike

你好,我有一个学校的作业,要制作一个程序,在文本中查找一个单词并将其替换为另一个单词。直到现在我还没有完成字符串,我遇到了一个小问题。我需要扫描文本、查找单词和替换单词,但只有文本 scanf 有效,其他只是跳过..

 char w[10000];
char find[10000];
char replace[10000];
int l,c,b,diff,i,k,yes=0,vm;
printf("Text: ");scanf("%[^\n]s",w);
printf("\nFind: ");scanf("%[^\n]s", find);
printf("\nReplace: ");scanf("%[^\n]s", replace);

如果您能说出为什么查找和替换的 scanf 会跳过,我将非常感激。

抱歉,英语不好,不是我的母语。

最佳答案

试试这个

printf("Text: ");scanf("%[^\n]%*c",w);
printf("\nFind: ");scanf("%[^\n]%*c", find);
printf("\nReplace: ");scanf("%[^\n]%*c", replace);

只需使用换行符并删除 [^\n] 后面的 s 即可

Read till newline character is encountered

<小时/>

我建议你使用

fgets(w,sizeof(w),stdin);

这更安全。

关于c - c中scanf 3次不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28740115/

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