计算机scanf的scanf输入数组问题

该楼层疑似违规已被系统折叠 

。。。。。。。。自己不会用不要怪语言或者是函数。。一群逗比


}

今天用scanf给一字符数组循环复制时遇到了问题

发现scanf会被跳过搜了一下网

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

来清空scanf输入数组缓冲但是并非所有编译器都要支持这个功能(linux下的gcc就不支持,经我的GCC红帽5下测试)因为標准中根本没有定义 fflush(stdin)。

}

C 的scanf数组奇怪问题?


我的那个字苻串长度为2.为什么可以接受很长的字符串






}

我要回帖

更多关于 scanf输入数组 的文章

更多推荐

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

点击添加站长微信