[求助]ASCII码值的转换问题(莫名其妙多了一个10)(已解决)
#include <stdio.h>
#include <conio.h>
int main()
{
int ch;
while ((ch=getchar())!=EOF)/*while ((ch=getche())!=EOF)*/
{
printf("%d\n",ch);
}
return 0;
}
在vc中运行的,运行后多了一个10,开始还以为是enter键的码值,后来把程序的getchar换成getche,才发现enter键的码值是13。不知道那个10是怎么会师,请各位指点下,谢谢。
[此贴子已经被作者于2007-10-28 10:39:32编辑过]
----------------解决方案--------------------------------------------------------
10是换行,你回车就是一个13的键码,然后系统生成一个ASCII=10的字符放缓冲区
by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
回车是一行没有结束的情况下,强行换一行起头
换行是一行已经结束,不能再写下去,自动跳到下一行起头.
----------------解决方案--------------------------------------------------------
谢谢楼上二位的指点,有些明白了。
----------------解决方案--------------------------------------------------------
第一个按F6和回车能退出来 但第二个就不行
为什么
----------------解决方案--------------------------------------------------------