gpt4 book ai didi

c - "Minus"没有被捕获

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

运行:

#include <stdio.h>

int main(int argc, char *argv[]) {
const char *exp = "10-2+3*5";
char tok[255];
sscanf(exp, "%[^+-*/^]", tok);
printf("%s\n", tok);
sscanf(exp, "%[^-+*/^]", tok);
printf("%s\n", tok);
return 0;
}

将输出:

10-2
10

但是为什么呢?

最佳答案

将连字符放在 [...] 组的末尾。这与正则表达式类似。

sscanf 的 %[...] 格式接受范围。范围可以这样使用:%[a-z]

为了区分匹配的普通连字符,您必须将其放在末尾,这样它就不会被解释为范围。

您可以在 sscanf manual page 上找到更多文档。向下滚动到描述 [ 模式的部分。

关于c - "Minus"没有被捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1463516/

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