对scanf的加深理解

程序中用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!"

你可能感兴趣的:(对scanf的加深理解)