scanf()读取单个字符的时候,如果上面的语句也有scanf, 可能会读入换行符,导致读取的字符不是自己写入的字符。
如果用scanf("%c",&ch)
,那么程序不会忽略为了输入而按下的回车键操作,而是认为回车键是后续操作而继续响应;
而scanf(" %c", &ch)
在%c之前空格会告诉scanf忽略前面的空行,而等待第一个非空行元素读入其中。这样就能避免问题的出现。
scanf()读取单个字符的时候,如果上面的语句也有scanf, 可能会读入换行符,导致读取的字符不是自己写入的字符。
如果用scanf("%c",&ch)
,那么程序不会忽略为了输入而按下的回车键操作,而是认为回车键是后续操作而继续响应;
而scanf(" %c", &ch)
在%c之前空格会告诉scanf忽略前面的空行,而等待第一个非空行元素读入其中。这样就能避免问题的出现。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。