c语言基础笔记DAY4_深入字符串输入输出

c语言基础笔记DAY4

1.scanf缺点
  1. 遇到空格提前结束读取
  2. 如果存放字符的空间不足,会继续存放,导致内存污染

特点

  • 不会读入’\n’
2.gets(char*s)

功能

  1. 将键盘输入,存入到s字符数组中
  2. 可以存入空格

特点

  • 不会读入’\n’

缺点

  1. 如果存放字符的空间不足,会继续存放,导致内存污染
3.fgets(char*s,int num,FILE*stream)

功能

  1. 库函数:从键盘读取一个字符串
char num[128];
fgets(num , sizeof(num),stdin);//从stdin(标准输入)读取字符串,最大可以读取sizeof(num)-1个
  1. 在读取过程中,最后一个字符数组元素,会自动添加’\0’,所以最大只读取字符数组长度-1个字符

优点

  1. 不会造成内存污染

注意

  1. fgets会自动读取全部输入的内容,包含换行符
  2. 从指定的流 stream 读取一行,并把它存储在str所指向的字符串内。当读取(n-1)个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
4.strlen(char*s)

功能

  1. 获取字符串数组的有效字符个数
  2. 个数中不包含’\0’
5.puts(char*s)

功能

  1. 函数puts()把str(字符串)写到STDOUT(标准输出)上. puts() 成功时返回非负值, 失败时返回EOF

用法

char buf[128] = "abcdefg";
puts(buf);//有换行 ,  自动加换行符'\n'
6.fputs(char*s,FILE*stream)

功能

  1. fputs()函数把str(字符串)指向的字符写到给出的输出流. 成功时返回非负值, 失败时返回EOF.

用法

char buf[128] = "abcdefg";
fputs(buf,stdout/*标准输出*/);//有换行 ,  自动加换行符'\n', 将字符输出到终端  
7.产生随机数

用法

//获取当前时间,单位是秒
int t = time(NULL);
//设置随机数种子
srand(t);

//-------------一般写法-------------//
srand(time(NULL));

//获得随机数
int a = rand();
8.exit(0)
  1. 不管出现在什么位置,只要执行到该函数,则会退出整个程序
9.sprintf(char*string,const char *format,…)
  1. sprintf函数的功能与printf函数的功能基本一样,只是它把结果输出到指定的字符串中
10.#include <> 与 #include""
  1. <> 表示在系统目录下找.h文件
  2. “” 表示先在当前工程文件目录下找.h文件
11. .h头文件注意点

注意

  1. 在头文件中只声明,不要定义任何变量或者函数;
  2. 定义只在.c中定义
12.全局变量
  1. 定义在{}外的变量为全局变量,全局变量在这个工程中其它文件都可使用;
  2. 全局变量在程序运行结束时才销毁.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值