一:get()
需要引用库函数
创建一个字符串例如
char a[10];
然后输入字符串
gets(a);例如这里输入hello
在gets输入过程中空格也会被储存
输出字符串
puts(a);就会打印出hello
puts函数输出直到读取到'\0',若是在中间储存字符中有‘\0’则会提前结束
二:fgets()
因为gets()函数输入数组时,不管数组的大小,一股脑的将流中的所有内容全部读入,容易导致数组的越界访问,所以有些不支持gets()的使用,这时我们可以使用fgets()函数
需要引用头文件stdio.h
举例说明三个变量的含义:
上述括号内三个变量分别对应:输入读进arr中;最多读100个1;从标准输入中读取
三:
scanf("%s",&a);会读入一个不含空格,tab,和回车符的字符串,遇到空白字符会停下
scanf也会读取缓存区字符,例如”abc de“,直接在缓存区输入如上字符,scanf
在读取abc后的空格后就会停下输入,而如果接下来还有另一个scanf,则他会直接将剩下的“de“读入,而不会给我们再次输入的机会。
但是只需如图操作可使scanf一直读取,直到读取到\n
printf("%s",a);且会输出数组中全部元素直到读取到’\0'
%s会输出整个char类型数组内字符串,%c用于输出char类型的变量的单个字符
四:
getchar()
读取字符,返回int整型为ascll码值,逐个字符存取,例如11会当成两个1录取,若结尾为EOF则返回EOF,getchar()不能放入变量,但可以让变量=getchar(),注意要为整型变量
如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。
五:
想要输出整数ascll码值对应的字符时,例如a==97,97对应的asc码值为a,则printf("%c",a),则可打印出字符'a'