我在C书中找到了这样一个scanf的例子(这次不是K& R):
scanf(" %[-' A-Za-z]s",&variable);
有人可以向我提供它接受的信息吗? 我没有找到任何关于使用'a'或'z'作为转换字符的信息
答案 0 :(得分:4)
从标准(C11,§7.19.6.2/ 12):
]
匹配来自一组预期字符的非空字符序列
这意味着您的格式需要一系列字符-
,空格,A
,...,Z
,a
,...,{ {1}}。
z
转换说明符包含两个特殊字符:[
反转匹配集,以及<之间的连字符(%[^...
) / em>两个字符表示范围,与-
和A-Z
中使用的范围相同。