gets遇到回车才会认为是输入结束
scanf不读走空格,回车,而是留在缓冲区中 gets将回车作为结束标志,不显示回车,但是会将回车读走 scanf如果遇到不对的字符,不会将这个不对的字符读走,而是留在缓冲区
gets将回车读走,但是scanf不会将回车读走,而是留在缓冲区,所以需要scanf(" ")来将空白字符给读走,等价于scanf(" %c");
从内存和存储空间的角度来理解指针 指针一般用于参数传递,改变无法改变的值
scanf不读走空格,回车,而是留在缓冲区中 gets将回车作为结束标志,不显示回车,但是会将回车读走 scanf如果遇到不对的字符,不会将这个不对的字符读走,而是留在缓冲区
gets将回车读走,但是scanf不会将回车读走,而是留在缓冲区,所以需要scanf(" ")来将空白字符给读走,等价于scanf(" %c");
从内存和存储空间的角度来理解指针 指针一般用于参数传递,改变无法改变的值
转载于:https://juejin.im/post/5ba60afff265da0a906f6ea8