
scanf能不能与gets一起用,请说明原因,详细点哈。 我试过,好像不能
展开全部
gets函数可以一次接收一行输入串,其中可以有空格,也就是说空格可以做为字符串的一部分输入.
而scanf函数接收的字符串不会含有空格,即遇到字空格时,认为字符串输入结束,也就是说空格是scanf默认的结束符号。
scanf和gets不能混合使用,如果一个程序中用scanf的话,一般不能再用gets,反之亦然。 1:...
2:gets()输入字符串时,可以包含空格在内的字符,在回车时,自动将字符串结束标志'\0'赋予字符数组最后一个元素。scanf函数不能输入包含空格字符的字符串,也就是说空格是scanf默认的结束符号。
3:如果像你在你的程序中提到的只把for循环中gets改为scanf的话,在后面该输入的时候直接跳过的原因是,在结束前一个scanf输入时输入的回车被后一个gets输入时接受,也就是说前一个地方输入的“数据+回车”分别被两个地方接受。此种问题会出现在gets和scanf交接处。只需要在程序中统一改为scanf和gets就可以了。
而scanf函数接收的字符串不会含有空格,即遇到字空格时,认为字符串输入结束,也就是说空格是scanf默认的结束符号。
scanf和gets不能混合使用,如果一个程序中用scanf的话,一般不能再用gets,反之亦然。 1:...
2:gets()输入字符串时,可以包含空格在内的字符,在回车时,自动将字符串结束标志'\0'赋予字符数组最后一个元素。scanf函数不能输入包含空格字符的字符串,也就是说空格是scanf默认的结束符号。
3:如果像你在你的程序中提到的只把for循环中gets改为scanf的话,在后面该输入的时候直接跳过的原因是,在结束前一个scanf输入时输入的回车被后一个gets输入时接受,也就是说前一个地方输入的“数据+回车”分别被两个地方接受。此种问题会出现在gets和scanf交接处。只需要在程序中统一改为scanf和gets就可以了。
参考资料: http://zhych16.blog.163.com/blog/static/118299049200992635217798/

2024-12-03 广告
作为北京饼干科技有限公司的一员,对于市场上各类工具都有所了解。就AiPPT而言,它确实为用户提供了便捷高效的PPT制作体验。通过智能化的辅助功能,用户能够快速生成专业且富有创意的演示文稿,极大地节省了时间和精力。无论是对于个人用户还是企业团...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询