scanf 函数原型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
scanf 函数原型.doc

scanf 函数原型 scanf 函数原型   int scanf( const char *format, ... );   scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。   其调用格式为: scanf(格式化字符串,地址表);   函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式。 编辑本段scanf的返回值   scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。   如:   scanf(%d,%d, a, b);   如果a和b都被成功读入,那么scanf的返回值就是2   如果只有a被成功读入,返回值为1   如果a和b都未被成功读入,返回值为0   如果遇到错误或遇到end of file,返回值为EOF。   且返回值为int型.   例:使用scanf函数输入数据。   #includestdio.h   int main()   {   int a,b,c;   printf(输入 a, b, c\n);   scanf(%d,%d,%d, a, b, c);   printf(a = %d b = %d c = %d\n, a, b, c);   fflush(stdin);   return 0;   }   注意上面的scanf(%d,%d,%d,a,b,c);中%d,%d,%d之间有逗号,在输入数据时也要加逗号,如果去掉逗号,输入时就不用逗号,而用空格,tab键或回车键将各个数据隔开 编辑本段格式字符说明   在 C99 中,format 用 restrict 修饰。   format 指向的控制串由以下三类字符组成: 格式说明符   转换字符(就是%后跟的部分)   a 读浮点值(仅适用于 C99)   A 读浮点值(仅适用于 C99)   c 读单字符   d 读十进制整数   i 读十进制、八进制、十六进制整数   e 读浮点数   E 读浮点数   f 读浮点数   F 读浮点数(仅适用于 C99)   g 读浮点数   G 读浮点数   o 读八进制数   s 读字符串   x 读十六进制数   X 读十六进制数   p 读指针值   n 至此已读入值的等价字符数   u 读无符号十进制整数   [ ] 扫描字符集合   % 读 % 符号(百分号)   附加格式说明字符表修饰符说明   L/l 长度修饰符 输入长数据   h 长度修饰符 输入短数据   W 整型常数 指定输入数据所占宽度   * 表示本输入项在读入后不赋值给相应的变量 空白符   空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。 非空白符   一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。   说明:   (1)%s 表示读串而 %d 表示读整数。格式串的处理顺序为从左到右,格式说明符逐一与变元表中的变元匹配。为了读取长整数,可以将 L / l 放在格式说明符的前面;为了读取短整数,可以将 h 放在格式说明符的前面。这些修饰符可以与 d、i、o、u 和 x 格式代码一起使用。   (2)默认情况下,a、f、e 和 g 告诉 scanf() 为 float 分配数据。 如果将 L / l放在这些修饰符的前面,则 scanf() 为 double 分配数据。使用 L 就是告诉 scanf(),接收数据的变量是 long double 型变量。   (3)如果使用的现代编译器程序支持 1995 年增加的宽字符特性, 则可以与 c 格式代码一起,用 l 修饰符说明类型 wchar_t 的宽字符指针;也可以与 s 格式代码一起,用 l 修饰符说明宽字符串的指针。l 修饰符也可以用于修饰扫描集,以说明宽字符。   (4)控制串中的空白符使 scanf() 在输入流中跳过一个或多个空白行。空白符可以是空格(space)、制表符(tab)和新行符(newline)。 本质上,控制串中的空白符使 scanf() 在输入流中读,但不保存结果,直到发现非空白字符为止。   (5)非空白符使 scanf() 在流中读一个匹配的字符并忽略之。例如,%d,%d 使 scanf() 先读入一个整数,读入中放弃逗号,然后读另一个整数。如未发现匹配,scanf() 返回。   (6)scanf() 中用于保存读入值的变元必须都是变量指针,即相应变量的地址。 对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上操作符。   (7)在输入流中,数据项必须由空格、制表符和新行符分割。逗号和分号等不是分隔符,比如以下代码

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档