我记得有人说scanf,printf,这种C类型输入输出不要和cin,cout C++类型输入输出混用。
这里主要说说scanf,gets的一些细节。
scanf("%s",str);遇到空格,换行终止,将之前的字符(没有空格,首部有空格则跳过)输入到str,并从缓存中去除这些字符,现在,缓存从空格开始。
而gets(str)则输入直到遇到换行,将除换行的所有字符包括空格输入到str,并删除缓存中第一个换行。
另外注意这种情况:
输入三个元素分别是:字符串“jkljjklnbjk",空格,字符'c'
scanf("%s",str);
scanf("%c",&a);
a得到的是空格。。