****************输入的比较***************************
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 是可以自动换行的) |
|