本帖最后由 余丽丽 于 2015-6-3 13:04 编辑
实验:int main(int argc, const char * argv[]) { char string[50]; scanf("%s",string); printf("%s\n",string); return 0; }
输入:hello world!
结果:hello
解决办法:
int main(int argc, const char * argv[]) { char string[50]; scanf("%[^\n]",string); printf("%s\n",string); return 0; }
输入:hello world hello world
结果:hello world hello word
ps:控制字符 说明
%c 一个单一的字符
%d 一个十进制整数
%i 一个整数
%e, %f, %g 一个浮点数
%o 一个八进制数
%s 一个字符串
%x 一个十六进制数
%p 一个指针
%n 一个等于读取字符数量的整数
%u 一个无符号整数
%[] 一个字符集
%% 一个精度符号
^表示"非",即读入其后面的字符就结束读入
"%[^\n]" 表示读入任意多的字符,直到遇到"\n"停止
|