gpt4 book ai didi

c - 使用 strstr 确定给定字符串是否包含带空格的字符串 [C]

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:16 26 4
gpt4 key购买 nike

我正在研究使用 strstr() 函数的示例。

如果我输入“Pamela Sue Smith”,为什么程序输出““Pamela”是一个子字符串!”而不是““Pamela Sue Smith”是一个子字符串!”。

#include <stdio.h>
#include <string.h>

void main(void)
{
char str[72];
char target[] = "Pamela Sue Smith";

printf("Enter your string: ");
scanf("%s", str);

if (strstr( target, str) != NULL )
printf(" %s is a sub-string!\n", str);
}

最佳答案

  1. main 没有返回类型 void 而是 int
  2. scanf会失败。检查返回值。
    如果成功,它返回分配的参数数量。
  3. %s 只读取非空白,直到下一个空白(因此 1 个字)。
  4. %s 不限制读取多少个非空白字符。缓冲区溢出可能是致命的。
    使用 %71s(缓冲区大小:字符串长度 + 1 作为终止符)
  5. 您将参数交换为 strstr .

关于c - 使用 strstr 确定给定字符串是否包含带空格的字符串 [C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898042/

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