奥林广场:[c]当运行以下程序时?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 06:27:42
从键盘输入:
aa bb<回车>
cc dd<回车>
则下面程序运行结果是?
#include<stdio.h>
main()
{ char a1[5],a2[5],a3[5],a4[5];
scanf("%s%s",a1,a2);
gets(a3);gets(a4);
puts(a1);puts(a2);
puts(a3);puts(a4);
}

答案是
aa
b

cc dd

我不太明白为什么 帮忙解释一下 另外 空格和回车有什么区别吗?谢谢

scanf把空格和回车当成间隔符,所以a1为"aa",a2为"bb",gets只以回车为间隔符,所以a3为"cc dd",a4为空,就输出成那样了