首页 热点资讯 义务教育 高等教育 出国留学 考研考公

c语言光标位置问题

发布网友 发布时间:2022-04-27 05:12

我来回答

2个回答

热心网友 时间:2022-06-26 18:37

楼主你好!
你是不是发现,每次运行完之后,光标都会回到首行第一个位置?
原因很简单!
if(in[i]=='\r')
{
in[i+1]='\0';
break;
}

这段代码的问题!因为你把'\r'存入了in[i]之中了!'\r'就是回到该行的第一位置的作用!
如果你可以这样验证,把上面这段代改为下面
if(in[i]=='\r')
{
in[i]='\0';
break;
}
把那个'\r'用'\0'覆盖掉,这样输出的时候,光标就不会回到该行的第一个位置了!
我个人认为getch()没什么注意的!因为这个函数不怎么使用!
大概大学作业里面,叫你写简单的什么密码登陆之类的用到,其他我感觉我不怎么用到!
希望我的回答对你有帮助!

热心网友 时间:2022-06-26 18:37

下面这样改之后应该能符合你的要求吧。光标回到行首的原因之前的朋友已经说了,是'\r'的问题。因为你的代码执行后,字符串in里倒数第二个字符是'\r',所以在算法上把它去掉就好了。至于'\r'的效果,我也说不好,可能就是让光标回到当前行的行首位置吧。if(in[i]=='\r')
{
in[i]='\0';
break;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com