1、掌握如何处理输入函数留下的垃圾
输入函数留下的“垃圾”
使用输入函数可能会留下垃圾int x;char ch;scanf("%d",&x);scanf("%c",&ch);printf("x=%d,ch=%d",x,ch);例:#include int main(){int x;char ch;scanf("%d",&x);scanf("%c",&ch);printf("x=%d,ch=%d",x,ch);return 0;}输入:5输出:x=5,ch=10回车被当作x识别 问题
方法一:
可以使用 getchar()消除 空格#include int main(){int x;char ch;scanf("%d",&x);getchar();scanf("%c",&ch);printf("x=%d,ch=%d",x,ch);return 0;}
方法二:
用格式串中空格或“ %*c”来吃掉 空格 #include int main(){int x;char ch;scanf("%d",&x);scanf(" %c",&ch);printf("x=%d,ch=%d",x,ch);return 0;}
2、掌握字符串输入函数的用法
字符串输入函数 gets()
格式:char *gets(char *s)功能:从键盘输入以回车结束的字符串放入字符数组中,并自动加‘0’说明:输入串长度应小于字符数组维数说明:与scanf函数不同,gets函数不以空格作为字符串输入结束标志#include int main(){ char s[5]; gets(s); printf("%s",s); return 0;}注:gets()输入可以有空格,scanf() 输入不能有空格
3、掌握字符串输出函数的用法
字符串输出函数 puts
格式:int puts(const char *s)功能:向显示器输出字符串(输出完,自动换行)说明:字符数组必须以'0' 结束例:#include int main(){ char string[80]; gets(string); puts(string); return 0;}输入什么字符串 》就输出什么字符串
4、总结
怎么处理函数留下的垃圾字符串的输入输出函数
思考
解决输入晗数留下的垃圾,有几种方法?C语言中,如何输入或输出一个字符串?