https://blog.csdn.net/qq_38374864/article/details/71141381
1.gets函数
gets函数
gets函数一般用于C语言中
gets函数——输入字符串的函数
其一般形式为
gets(字符数组)
起作用是从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址。
例如如下代码:
gets(str); //str是已定义的字符数组
之后我们从键盘输入computer,然后gets函数会将"computer"送给字符串数组str,返回的函数值是字符数组str的起始地址。一般用getsgets函数的目的是想字符串数组输入一个字符串,而不太关心其函数值。
另外需要注意puts和gets一次都只能输入或输出一个字符串,
不能写成
puts ( str1 , str2 );
或
gets ( str1 , str2 );
并且gets与我平时更加常用的scanf()的区别有
scanf不能接受空格,回车,tab,并且会以空格,回车tab来结束一次输出
而gets可以接受空格,回车,tab,而gets只会以回车符来结束输出,但之后会丢弃换行符并且以“\0”来代替
所以在读取字符串的情况下,更多使用gets
2.#include<stdlib.h>
#include<stdlib.h>
stdlib.h头文件包括的常用函数有malloc(),calloc(),realloc(),free(),system()等
stdlib.h代表标准输入输出头文件
https://blog.csdn.net/SiriusSun_/article/details/84575798
3.~scanf()
先从scanf开始说起
以scanf(“%d %d”,&a,&b);为例
函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;
如果只有a被成功读入,返回值为1;
如果a和b都未被成功读入,返回值为0;
如果遇到错误或遇到end of file,返回值为EOF(-1)。end of file 为Ctrl+z 或者Ctrl+d。
'~'则意为取反,这样scanf的返回值则均为大于-1的数,只有当scanf()的返回值为-1时,
(二进制表示为全1)时,~scanf()的值为0,其他情况均不为0.
这样子,我们使用~scanf()时,则