C putchar() 和 getchar()

时间:2022-10-03 21:07:17

C 库函数 int getchar(void)   从 终端输入获取一个字符 ;

返回值:该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF

C 库函数 int putchar(int char)  参数 范围 0~127 也可以是单个字符形式  如: 'n'

返回值: 输出到终端字符的 ASSIC码 对应的10进制数 , 如:   putchar('\n')  返回值为10

例子:使用getchar()函数去除终端输入的 '  ' 空格符,然后把其他字符通过putchar()打印到终端

#include <stdio.h>
#define WAY 2 int main(int argc, const char *argv[])
{
char ch;
/*
1. 首先是getchar() 循环获取终端下输入的字符串,
2. 当输入的字符串有 字符 '\n'时结束运行
3. 如果获得终端输入的字符不为 ' ' 空格,就通过putchar() 输出该字符到终端
*/
#if WAY == 1
while(ch != '\n'){
  ch = getchar();
  if(ch != ' ') putchar(ch);
}
#endif /*
*/
#if WAY == 2
while(ch != '\n'){
  ch = getchar();
  while(ch != ' '){
putchar(ch);
ch = getchar();
/*此处break结束内层while,但 ch 为 '\n' , 结束外层循环*/
if(ch == '\n') break;//不加这句问题,不会退出,是死循环while(ch!='\n')
  }
    }
#endif return 0;
}