|
scanf非常复杂而且容易出错,近些年的教科书为了省事都直接教用scanf的
其实C最权威的教科书上是在书第七章(一共8章)才提到scanf
这里用scanf大概有两种写法,一种是,大概也就是你出问题的那种
- char ch;
- scanf("%c", &ch);
复制代码
这里用的占位符是%c,读取一个字符,和getchar一样,会读取缓冲区残留的那个回车
另外一种
- char ch[5];
- scanf("%4s", ch);
复制代码
这里的占位符是%4s,也就是长度不超过4的字符串。
注意%s占位符会忽略开头的空白字符(空格,回车以及tab制表符),读取到空白字符的时候会结束读取
所以在一个循环连续读取的时候,回车这个占位符就会被忽略,就不再存在这个问题
然后要用字符的时候
用之类的就可以了 |
|