C语言gets()函数是否读取'\n'?
gets()函数的功能是读取一串字符(读的时候小心溢出),在字符串读入完毕后,末尾输入的'\n'也会被读到,且被读为'\0'。
代码验证如下——
一开始,我们将char型数组a全部初始化为'1',之后输入“1234567回车”,通过调试窗口我们可以看到a[0]~a[6]分别为1234567,而a[7]由刚开始的'1'变成了000,即'\0',a[8]和a[9]则依然是061,即'1'。所以说,回车'\n'被gets()读取为'\0'存入数组a中。
运行结果如下