当前位置: 代码迷 >> 综合 >> 用scanf()和gets()输入字符串的区别及C++中几个输入函数的用法和区别(cin、cin.get()、cin.getline()、getline()、gets()、getchar()))
  详细解决方案

用scanf()和gets()输入字符串的区别及C++中几个输入函数的用法和区别(cin、cin.get()、cin.getline()、getline()、gets()、getchar()))

热度:78   发布时间:2023-11-03 01:57:53.0

相同点:字符串接受结束后自动加’\0’
不同点:scanf用%d输入数字或用%s输入字符串时,在开始读之前会跳过空格、回车或制表符等空白字符,再次遇到这些字符时,系统认为读入结束,因此不能输入带空格的字符串。未读取到的被留在了输入缓冲区中。
gets()以回车符作为字符串的终止符,同时将回车符从缓冲区读走,但不作为字符串的一部分。而scanf()不读走回车符,回车符仍留在输入缓冲中。

C++中几个输入函数的用法和区别(cin、cin.get()、cin.getline()、getline()、gets()、getchar()))