1

我在 C 书中找到了这样一个 scanf 的例子(这次不是 K&R):

scanf(" %[-' A-Za-z]s",&variable);

任何人都可以向我提供它接受什么的信息吗?我没有找到任何关于使用“a”或“z”作为转换字符的信息

4

1 回答 1

4

从标准(C11,§7.19.6.2/12):

]匹配一组预期字符中的非空字符序列

这意味着您的格式需要一系列字符-, 空格, A, ..., Z, a, ..., z

[转换说明符有两个特殊字符的规定:反转%[^... 匹配集,两个字符之间-的连字符 ( )表示范围,如您的and中使用的那样。A-Za-z

于 2012-08-17T17:47:54.090 回答