程序中用scanf接收命令行的输入时,空格和回车都是作为输入结束符的。
用以下源代码举例:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 100
int main( void )
{
char string[ SIZE ];
printf( "Please input a string:\n" );
/*
scanf( "%s", string );
printf( "%s\n", string );
*/
gets_s( string, SIZE );
puts( string );
system( "pause" );
return 0;
}
命令行输入:I am a boy!
(1)通过源代码中注释掉的这两行接收输入并输出,结果为:I
因为空格被作为输入结束符处理,字符数组string中只存储了I
(2)通过gets_s( ... )和puts( ... )接收输入和输出,能正确显示"I am a boy!"