c语言的几个问题

昨天用C编程遇到一个关于scanf的细節问题,假如运行如下程序:

   表面上看这段程序是没有错的也可以运行,但运行过程中到第二个scanf输入值给k时程序不会停止,而是直接運行到下一个printf !

   今天上网查了下才知道原来scanf是从标准输入缓冲区中读取输入的数据,而%c的字符输入格式会接收回车字符在输入第一个scanf時输入字符后按回车结束,输入缓冲中保存了这个回车符遇到第二个scanf时,它自动把这个回车符赋给了k而如果第二个scanf的输入格式不是%c时,由于格式不匹配这个回车符会被自动忽略,所以只有在连续输入两个字符格式时才会出现这样的问题!

scanf格式输入时要求输入格式与格式控制符中的完全一样(如:scanf("abcd%c",&ch);输入时必须输入abcde,ch得到的值为e)空格可以抵消前面输入的回车符

加载中,请稍候......

}
C语言课程设计报告 题 目 图书管理系统设计 专业班级 XXXX级计算机科学与技术本科X班 组 别 计科第...

C语言是一门“古老”而又很有前途的计算机编程语言...这是一现实的问题,如果你是非计算机专业的大学生大部分人对C语言是恐惧的,因为(挂科率高)你懂得……而如果你是小学生或初中生,倒也不用担

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信