A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lyz0925 中级黑马   /  2015-3-20 00:38  /  660 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

****************输入的比较***************************
1.scanf  的缺点:
字符串输入的时候,不能有空格
如果用户输入的字符串长度大于了数组长度,没有空间存 \0
且不安全
2.gets()
  优点:字符串输入的时候,可以有空格
  缺点:不安全,如果输入的字符串的长度大于了数组的长度,会溢出

3.fgets()安全的字符串输入
  如果输入的字符串长度大于了字符数组的长度,此时,fgets会自动截断;

  fgets()函数的使用
   fgets(字符数组名,数组长度,stdin); //stdin 标准的输入

注意:fgets只能保存数组长度减一个字符的长度;当输入的内容小于数组长度的时候,多接收了一个换行(如何看它多接收了一个换行的标志呢,用输出ASCII码中的10进制数 即%d),解决的办法  把‘\n’替换成‘\0’,如下:
(if(s[strlen[s]-1])==’\n’)  s(strlen[s]-1)=’\0’;

***************************输出的比较******************************8
1.printf(“%s\n”,s)  可以格式化输出,但是不能自动换行

2.puts(数组名); 不可以格式化输出,但是可以自动换行

3.fputs() 可以输出一个字符串到文件中,   stdout
格式如下:fputs(数组名,stdout);
           fputs(s,stdout)   但是不能自动换行
(puts 是可以自动换行的)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马