首先应明白空白字符对于sacnf()如何处理输入起着至关重要的作用,除了在%c模式下外,在读取输入时,scanf()会跳过空白字符直到第一个非空白的字符处,然后会一直读取字符,直到遇到空白字符,或遇到一个不符合正在读取的类型的字符,或达到指定的字段长度(由三者中最先满足的那一个终止输入)而停止读取,并将停止处的字符作为下一个输入字符(如果是空白字符,下次读取时也会跳过空白字符,但下次读取如果是在%c模式下,就不会跳过去了)。scanf()在%c模式下读取字符的时候,则不会跳过空白字符,而是直接读取第一个输入的字符。scanf()在%s模式下读取字符串的时候,由于遇到单词间的空格键而停止读取,故只能读取到第一个单词,而不是整个字符串语句
深入理解scanf()的输入
最新推荐文章于 2024-06-18 17:44:51 发布