菜鸟问个getch的问题,大牛帮帮忙看看,不胜感激!

c357159 2015-07-07 11:27:33
getch()函数对回车的输入和其他字符的输入是否有所差异,回车的输入会出现覆盖同行的现象。还是输入时候,影响了光标所在行的标记(个人猜想,大牛们莫怪)
void main()
{
int i;
char tmp[20];
for(i = 0;i < 20;i++)
{
tmp[i] = getch();
printf("%d=[%c]\n",i,tmp[i]);
}
}

输入完DKO后的状态


输入回车,就出现这个情况,<我的理解按回车输出后应该另起一行输出右括号']',结果是同行继续输出并覆盖了该行第一个字符。>


这是多输入几次的结果

如果去掉输出语句的最后分行符,每次输入回车,光标都会回到同行第一列,如下这种现象怎么解释



当输入的不是回车而是退格,则出现下面这种情况


新手求教,想知道这是什么原因,大牛们帮帮忙,谢谢了!!!
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
独钓137 2015-07-08
  • 打赏
  • 举报
回复
特殊字符都会出现这样的情况,有没有试过把特殊字符特殊处理呢?
赵4老师 2015-07-08
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
707wk 2015-07-08
  • 打赏
  • 举报
回复
getch只读入,不显示字符

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧