会c的帮忙解决一下

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:58:33
以下程序运行后,如果从键盘上输入: book book 则输出结果是 A)*8 B)#9 C)#6 D)*9
#include
main()
{char a1[80],a2[80],*s1=a1,*s2=a2;
gets(s1); gets(s2);
if(!strcmp(s1,s2)) printf(“*”);
else printf(“#”);
printf(“%d\n”,strlen(strcat(s1,s2)))
}
但是参考答案是选B
还是不明白
gets(s1)是? gets(s2)是?
就是book book这样的输入的?应该就是空格

A,前提是,你输入一个book,之后按的是回车,再输另外一个book,然后回车,这时的s1是book,s2是book;
B,前提是,你输入一个book,之后按的是空格,再输另外一个book,然后回车2次。这时的s1是book+空格+book;s2就没有了;
要不就去问你老师吧,或者去baidu搜个关于C语言的群,加入其中。
gets()接收时,碰到回车才结束接收,也就是说当你输入的第一个book时,它接收的也是book,你输入空格,它也接收,再输入book,它还是接收,然后你回车,这时它就停止接收了。
你书上说了是怎么输入book的吗?
是book 空格 book 回车 回车 ?
还是book 回车 book 回车 ?