使用 scanf()是否正确如下:
int n;
scanf("[%d]", &n);
如果是这样,它会做什么?
答案 0 :(得分:5)
它读取方括号([
),然后转换十进制整数并将结果存储在n
中,然后读取结束方括号。简单地跳过括号本身,它们不是转换的一部分。
您可能会想到字符组转换说明符,它看起来像%[...]
,其中省略号应该被要接受的字符替换。有关详细信息,请参阅manual page。
答案 1 :(得分:2)
scanf("[%d]", &n);
如果字符串类似于以下内容,则将int提取到给定的行:[1234]
它将提取值1234并将其存储在int中。