:在scanf中的目的是什么?

时间:2018-06-23 05:59:40

标签: c

scanf("%d:%d:%d%s", &hh, &mm, &ss, t12)

在要显示的时间中使用多个输入时,输入的编写方式如上,其中:在输入语句中使用了以上一行,虽然行很不错,但是有人可以在输入语句中解释冒号的必要性和用途

1 个答案:

答案 0 :(得分:1)

根据标准C11 7.21.6.2 The fscanf function /3 and /6

  

格式由零个或多个指令组成:一个或多个空格   字符,普通的多字节字符(%也不是空格字符)或转换规范。

     

通过读取流的下一个字符来执行作为普通多字节字符的指令。如果这些字符中的任何一个与构成该指令的字符不同,则该指令将失败,并且不同的字符和后续字符将保持未读状态。

因此:仅表示“确保流中的下一个字符是冒号”。没什么,没什么。

您的格式 string 只是意味着您将能够扫描类似12:34:56am的内容-如果格式字符串中没有文字冒号,则扫描将失败。