gpt4 book ai didi

c - GETS - C 不适合我

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:49 24 4
gpt4 key购买 nike

我在将字符串插入 char 变量时遇到问题。当我将其投入运行时出现问题。当我调试我的程序时,它显示 printf 但它跳过 gets

这是我的代码:

int uloz(SPRAVA *p){

char string[200];

printf("Your message here: ");
gets(string);
printf("You have entered: %s", string);
getchar();

return 0;
}

最佳答案

使用 scanf("%30[^\n]%*c",string);

  1. [^\n] 将接受任何直到 \n
  2. 30 会将字符数的长度限制为最大 30。
  3. 初始 space(' ') 将使用标准输入流中已有的任何 \n。 (可选,我还没有验证)
  4. & 最后,%*c 会消费输入字符串后按下的\n

我认为,scanf("%30[^\n]%*[^\n]%*c",string); 是一个不错的选择,可以丢弃剩余的字符(之后30) 被输入。然而,这是完全未经证实的。只是作为一个可能的想法添加。使用前测试。 :-)

关于c - GETS - C 不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884467/

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