C语言中gets函数能否只接收一个换行符 如gets(a),输入时输入回车

发布网友

我来回答

1个回答

热心网友

注意这点,gets()函数会读取一行字符,直到遇到换行符'
为止,并且这个换行符不会读取到数组中。
scanf("%s%s",a1,a2);
这一行把aa和bb读取并分别保存到a1和a2数组中,但是会把回车符留在缓冲区中。
gets(a3);gets(a4);
这里的gets(a3)会读取这个回车符,但是不会把回车符保存到a3数组,所以a3数组内容不会改变,接下来的gets(a4)将以回车结尾的cc
dd读取并保存到a4中
puts(a1);puts(a2);
分别在单独的行中输出a1和a2字符串。
puts(a3);puts(a4);
分别在单独的行中输出a3和a4字符串。由于a3没有赋值,所以它依然保持在定义时的随机值。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com