gets 和scanf区别

如题所述

第1个回答  2020-01-07
这是回车符滞留缓冲区的问题。
第一次输入**然后回车,然后输入**再回车,实际上scanf读取的是**(回车符)*这4个数据。
gets函数读取方式是读取一个字符串并在后面加上'\0',这段程序用gets替换应该不会成功运行才对,因为你gets()的参数不合法,应该是一个地址。如果要用gets,应该取消第二个for循环,用gets(c[j]);才对。
第2个回答  2019-12-17
原因出在输出语句上
,【20】元素的数组,下标最大是19
输出字符串只需要数组名或者首地址即可。
他们的区别是
scanf以空格结束输入。gets以回车结束输入
相似回答
大家正在搜