scanf()的变化

时间:2012-03-26 14:01:08

标签: c scanf

使用 scanf()是否正确如下:

int n;
scanf("[%d]", &n);

如果是这样,它会做什么?

2 个答案:

答案 0 :(得分:5)

它读取方括号([),然后转换十进制整数并将结果存储在n中,然后读取结束方括号。简单地跳过括号本身,它们不是转换的一部分。

您可能会想到字符组转换说明符,它看起来像%[...],其中省略号应该被要接受的字符替换。有关详细信息,请参阅manual page

答案 1 :(得分:2)

scanf("[%d]", &n);

如果字符串类似于以下内容,则将int提取到给定的行:[1234]它将提取值1234并将其存储在int中。