我正在阅读一本书中的一些例子,我得到了一些我以前从未见过也从未理解过的东西:
scanf("%d-%d-%d-%d-%d", &prefix, &group, &publisher, &item, &check_digit);这段代码是一个程序的一部分,该程序要求用户输入他们的图书ISBN号,然后将ISBN分解为Prefix = x、Group = y等。
我从来没有看过%d之间的假设。有人明白这其中的意义吗?
谢谢
发布于 2011-12-14 06:05:59
“模式匹配”。如果输入不符合指定的模式(也称为格式),它将失败。因此,如果您输入的不是INT-INT-INT-INT-INT (其中INT是您输入的整数的占位符),则输入将被认为是无效的。
发布于 2011-12-14 06:06:15
表示要扫描的字符串的实际部分。
例如,您的"%d-%d-%d-%d-%d"可以与"10-56-666-1-90"之类的东西一起工作。
发布于 2011-12-14 06:06:20
它解析5个数字(由%d匹配),每个数字之间有一个破折号( -)。每个数字都保存到一个作为参数传入的变量中。请参阅Conversions下的scanf和printf手册。
https://stackoverflow.com/questions/8496827
复制相似问题