gpt4 book ai didi

c - 如何 scanf ("%[^\n]", str);在 C 编程工作?

转载 作者:行者123 更新时间:2023-12-04 09:37:29 26 4
gpt4 key购买 nike

我在 C 程序中遇到过这个:

char str[100];
scanf(" %[^\n]", str);

请解释它是如何工作的以及为什么?

最佳答案

scanf 格式字符串由两部分组成:

  • 空格字符,跳过输入中的空格字符( ' ''\t''\n' 等),以及
  • %[^\n]转换规范,匹配不等于换行符( '\n' )的所有字符的字符串,并将其(加上终止符 '\0' )存储在 str 中.

  • 但是请注意,如果输入(在前导空格之后,第一个换行符之前)超过 99 个字符,则该函数表现出未定义的行为,因为 str只能容纳 100 char s 包括终止 '\0'特点。一个更安全的选择是:
    scanf(" %99[^\n]", str);

    关于c - 如何 scanf ("%[^\n]", str);在 C 编程工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40038538/

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