/*******************************************************************************************************
刚开始学习C语言,仅代表自己的学习理解,不代表观点一定正确
只做学习记录
(资料图片)
有错误的麻烦指出,谢谢!
*********************************************************************************************************/
printf
***printf:标准格式化输出
例:printf(“%d\n”,a);
***printf函数的返回值指的是被输出的字符的数量(不包含\0)
例:int i = 43;
printf("%d\n",printf("%d",printf("%d",i)));
当第三个printf输出43时,返回给第二个printf的值是字符的数量,也就是两个字符,所以输出2,而返回到第一个printf时只有一个字符,即输出为1
***在C语言中,\n作为printf刷新缓存的标识符
scanf
scanf:标准格式化输入
例:scanf(“%d”,&a);
scanf的使用技巧
***丢弃字符
在C99标准中是这样定义的
例:
***字符匹配
[]可以匹配待定的字符序列,需要在scanf的第一个参数中的转换说明符后使用
比如:char data[10]={0}; scanf(“%[xxx]”,data);
^符号可以指定不能被匹配的字符
比如:scanf(“%[^xxx]”,data);
-符号表示连接,可以把n个字符进行连接,用于字符匹配
比如:scanf(“%[a-z]”,data);
注意:什么是匹配,就是从第一个字符开始接收,直到接收到匹配之外的字符就结束
图二:当输入为数字时,系统接收到的第一个字符不是小写字母,就不会把数字放入缓存中,
并且之后的全部丢弃,输出就为空
***清除缓存
清除\n(包括\n)以前的缓存