C++中空格的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 09:31:07
打个比方吧

char Tom Hanks
就不是我想要的这样的结果了
char TomHanks

好像以空格为分界的函数也有这样的问题
如cin等
如果我输入Tom Hanks
cin会把Tom赋给第一个变量.Hanks赋给第二个变量了.

空格在C/C++中表示一个单词的结束,在编译过程中,编译程序首先把源代码进行词法分析,一般说来,第一遍扫描就是以空格为分隔符,把原始程序分解成一个一个的单词,当然这个用空格作为分隔符分割的单词还不是最终的原子单词,下一步才通过语法规则对其中各再次拆分。

C语言中的空格在程序中代表一个分界符,C语言规定一个名称只能由字母,数字和下划线组成,且首字母为下划线和数字,所以你输入的Tom Hank为非法名称 你可以试试Tom_Hank这种写法

用getchar就可以了
cin默认以空格分隔

用cin.getline试试

用cin.getline();