[编程语言][C语言]C语言巨坑

来源:互联网 发布:网络知识竞赛平台 编辑:程序博客网 时间:2024/06/01 22:20

C标准库


scanf()函数

scanf("%d", &num);这一语句是从缓冲区中读取一个整数并且赋值给num,如果紧跟其后有语句scanf("%c", &ch);则ch被赋值给换行符(ASCII值为0xA),从控制台上感觉如同跳过了对ch的读值赋值操作。
实际上,scanf()函数在读取一行后,会有一个换行符一并保存在缓冲区。对num赋值后换行符仍然保留在缓冲区中,为了让程序能够正常运行,通常可以在scanf()函数之后调用getchar()函数,以丢弃缓冲区中的换行符。

原创粉丝点击