发布网友 发布时间:2024-04-07 18:37
共2个回答
热心网友 时间:2024-04-07 22:49
答案:B
输入aaaa bbbb<CR>后数据被送到输入缓冲区,scanf以空格区分两个字符串,所以aaaa和bbbb分别被s1和s2得到,scanf不读取回车键,此时程序执行由gets继续从刚才的缓冲区读数据,此时只剩下一个回车键了,回车键被gets得到但是同时被抛弃,所以s3为空,接着执行gets(s4)此时缓冲区已空,程序停止等待标准输入,再输入cccc dddd<CR>后,回车键前面的内容被gets放进s4中,回车键又被丢弃,之后就是一连串的输出。
另外,似乎B选项也有些问题,因为puts(s3)时,因为s3为空所以应该什么都不输出的,但是puts函数有个特点就是,会在每次输出之后添加一个换行,所以第三行应该是一个空行,而s4="cccc dddd"所以,会被输出到一行的,所以正确的答案应该是:
aaaa
bbbb
cccc dddd
下面是在VC中运行的截图:
热心网友 时间:2024-04-07 22:44
A