字符串和指针的输入输出问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:56:38
1.char str[13];
scanf("%s",str);
从键盘输入 "how are you",编译系统把空格做为字符串的分隔符,会把how作为一个字符,然后在how后面加 \0 ,所以只会显示出how一个字符
2.printf("how are you");这是算一个字符串还是3个字符串 这中间也有空格,为什么3个单词都能显示出来呢 ?

1.scanf()把空格作为分隔符,故scanf("%s",str);语句不能读入空格,所以只能读入how,自然只能输出how.
可以把scanf("%s",str);改为gets(str);就可以了。
2.printf("how are you");这是算一个字符串, 这中间虽然有空格,但是事先系统已经把“how are you”做为一个字符串,所以都输出了。