for(int i = 0;i<10;i++) for(int j = 0;j<2;j++) scanf("%c",&a[i][j]);
看到上面的例子,你会怎么输入呢?
abcdefghij1234567890
还是a b c d e f g h i j 1 2 3 4 5 6 7 8 9 0
?
为什么说再记忆呢...因为以前发过对scanf的探究..
[button href="https://dyedd.cn/730.html"]历史[/button]
对于字符来说,这样的输入不需要空格!
scanf (“% c",&a);// 就有问题了,会把回车也读进去,解决方法 1. 加个过滤掉回车的条件 ASCII..2. 自己加sacnf 的分隔符
之前说的这个还不完全,按上面的例子,我们输入了20个字符后,回车,下面经过漫长的操作,直到一个scanf("%c",&b);
,那么恭喜你,你之前的回车直接被读入了...
所以这提高一个更加方便的操作
for(int i = 0;i<10;i++) for(int j = 0;j<2;j++) scanf("%c",&a[i][j]); ... .... // 防止空格键入 getchar(); scanf("%c",&b);
getchar也将帮你过滤掉空格!