关于入门C语言的常见错误

我是刚入门C语言的大一新生
我这里正在学习网课上简单的getchar用法
代码是按照网课上原模原样但是还是出现了一些问题

#include
int main()
{
    int ret=0;
    char password[20]={0};
    printf("请输入密码");
    scanf("%s\n",password);
    getchar();
    printf("请确认Y/N");
    ret=getchar();
    if (ret=='Y')
    printf("很好");
    else
    printf("确认失败");
    return 0;
}

能够正常运行
我的问题有两个:
1.我用的是embarcadero dev-c++,我在运行后输入了简单的密码后(例123456)按回车或空格后并没有继续向后执行,摁了很多空格仍无反应,必须要再输入字符或数字后按回车才能出现请输入Y/N,而且跳过了if判断语句,不止是这一段代码,凡是运用到类似scanf语句的都需要摁了空格或回车后再输入字符或数字后按回车才有反应。

img

2.只要是在这个程序写的中文,只要键盘输入位不停留在那一个地方就显示空白。

img

我也上网查过但对于刚入门我大多都看不懂,所以想来请教下原因是什么

也恳求各位老手能耐心解决我的问题了!!谢谢!

因为你scanf("%s\n",password);这句话格式控制里面有\n,所以程序会存在跳过现象
如果对你有用希望采纳

2已经解决了,解决方法:点击 工具(T) 菜单,编辑器选项(X) ,点击 显示 卡,在选项<ID 27071 translation missing>上去掉勾选,点击 确定 完成。