7.3.6用scanf和printf读/写字符
scanf(" %c", &ch); |
转换说明%c允许scanf函数和printf函数对单个字符进行读/写操作: char ch; scanf("%c", &ch); printf("%c", ch); 在读入字符前,scanf函数不会跳过空白字符。如果下一个未读字符时空格,那么在前面的例子中,scanf函数返回后变量ch将包含一个空格。为了强制scanf函数在读入字符前跳过空白字符,需要再格式串中的转换说明%c前面加上一个空格: scanf(" %c", &ch); /*skips white space, then reads ch跳过空白,然后读取ch*/ 回顾3.2的内容,scanf格式串中的空白意味着“跳过零个或多个空白字符”。 因为通常情况下scanf函数不会跳过空白,所以它很容易检查到输入行的结尾:检查刚读入的字符是否为换行符。例如,下面的循环将读入并且忽略掉当前输入行中剩下的所有字符: do{ scanf(“%c”, &ch); }while (ch != '\n'); 下次调用scanf函数时,将读入下一输入行中的第一个字符。 |
''