Translations of this page?:

scanf

语法:

    #include <cstdio>
    int scanf( const char *format, ... );

scanf()根据给定的格式从stdin中读取输入,并把数据存入其它参数中。它的工作方式很像printf()。

格式化字符串由控制字符,空白字符和非空白字符组成。控制字符由百分号(%)开头,并列在下面:

控制字符解释
%c一个单独的字符
%d一个十进制整数
%i一个整数
%e, %f, %g一个浮点数
%lf一个双精度浮点数
%o一个八进制数
%s一个字符串
%x一个十六进制数
%p一个指针
%n等于目前读到字符数目的整数
%u一个无符号整型
%[]一组字符
%%百分号

scanf() 读取输入,根据格式匹配字符。当读到控制字符时,它将值读取到下一个变量。空白字符(tab,空格等)被忽略。非空白字符匹配到输入,然后丢弃。如果在百分号和控制字符之间有数字,则至多有那么些字符被变换到变量中。如果scnaf()遇到由%[]控制字符表示的一组字符,那么任何方括号内的字符被读入到变量中。scanf()的返回值是成功被赋值的变量个数,如果发生错误返回EOF。

以下的代码简单展示了使用scanf()从用户读取一个整数,浮点数和双精度浮点数。注意scanf()的变量参数根据地址传递,由每个变量前引导的地址符(&)表示(denote?):

   int i;
   float f;
   double d;
 
   printf( "Enter an integer: " );
   scanf( "%d", &i );
 
   printf( "Enter a float: " );
   scanf( "%f", &f );
 
   printf( "Enter a double: " );
   scanf( "%lf", &d );
 
   printf( "You entered %d, %f, and %lf\n", i, f, d );

相关主题: fgets, fscanf, printf, sscanf

 
• • • SitemapRecent changesRSScc