一介绍:
getchar从键盘中获得一个字符。putchar是把字符打印出来。
为什么geitchar用int来接收的原因:
getchar这个函数返回的是读到的字符,返回的字都是ascii值,所以用int接收。如果在读的过程中遇到一个读取错误,就会返回一个EOF,而EOF是-1。 -1是一个整数,所以需要用int接收,如果用char,char只有一个字节,放不下这个-1。
为什么里面的字符会自动换行,原因:
输入时在这个缓冲区里面输入了a和/n,geichar就会从缓冲区里面拿到a以及换行。
二一些注意事项:
错误的原因:在输入密码时,还输入了个回车,也就是\0,那么就说明在缓冲区有abcdef以及\0两个字符,密码交给了password,而\0还在里面,getchar就取出来赋给ret,ret不是Y,就直接输出了no。
改进方法:(但只是临时凑合,不太正确)
因为你打多个字符又会失效:
原因:在输入密码时,还输入了个回车,也就是\0,那么就说明在缓冲区有abcdef,空格,defghi和\0四个字符,密码交给了password,而空格,defghi和\0还在里面,getchar就取出来赋给ret,ret不是Y,就直接输出了no。
真正的改进: