先看如下代码:
int main(int argc, _TCHAR* argv[])
{
int ch;
printf("Input characters:");
while((ch=getch())!=13)
printf("*");
return 0;
}
getchar()返回的是int型值,也就是对应的ASCII码,所以赋值时ch也应为int类型。所以我们要判断是否结束while()循环,也必须判断对应结束符的ASCII码,如换行符 是'\n',ascii是10;enter键是回车 也就是'\r' ascii是 13, 所以你输入13是相当于回车了。此外,getchar()的特点是手机完字符再统一判断的,比如abc三个字符,是先读进去,再逐个判断的。
另外,什么是换行?与回车的区别是什么呢?
最简单的例子就是,当你输入字符时,一行满时会自动跳到另一行,这就是“换行”,其实CSDN这个发博客机制体现的特别明显,因为如果是满行换行的话,两行的间距就非常小;如果是利用回车转行的话,两行的间距就大的明显。
自然回车就很好理解了,不论是否行满,只要你按下回车了,那就是“回车键/ENTER”。