C 与数字相比的字符

C 与数字相比的字符,c,io,C,Io,我对编程非常陌生,特别是C语言。我试图做一个隐藏/屏蔽密码的练习。将此代码设置为,但无法输入\n字符 #include <stdlib.h> #include <stdio.h> int main(){ char pasword[10], ch; int i; while(i<=9 ) { ch=getch(); if((ch >= 'a' && ch<='z') || (ch>

我对编程非常陌生,特别是C语言。我试图做一个隐藏/屏蔽密码的练习。将此代码设置为,但无法输入
\n
字符

#include <stdlib.h>
#include <stdio.h>


int main(){
   char pasword[10], ch;
   int i;

   while(i<=9 )
   {
      ch=getch();
      if((ch >= 'a' && ch<='z') || (ch>='A' && ch<='Z'))
      {
        pasword[i] = ch;
        i++;
        printf("*");
      }
   }

   pasword[i] = '\0';

   printf("Password: %s", pasword);
   return 0;
   }
不知何故,它让我允许输入一个
\n
或“回车”

为什么将
ch
13
相比较?或者在这个意义上什么是
13
?为什么当我把
13
换成另一个号码时,我不能按Enter键


我还想补充一点,为什么我不能删除我键入的文本?

首先,此代码有其自身的错误需要处理

您需要将
i
初始化为有效值,主要是
0
。 然后您的
while
循环将保证得到执行

while(i <= 9)

首先,该代码有自己的错误需要处理

您需要将
i
初始化为有效值,主要是
0
。 然后您的
while
循环将保证得到执行

while(i <= 9)

您忘记初始化
i
变量。请尽快获得更好的编译器。如果使用未初始化的变量,您应该得到警告。您忘记初始化
i
变量。请尽快获得更好的编译器。如果使用未初始化的变量,您应该得到警告。非常感谢您,先生。我还想问一下,为什么我无法在控制台中删除任何键入的文本?还是我必须为它编一条新的线索?@AAngelo不要在同一个问题中混用问题。“如果你有其他问题,请提出另一个问题。”安德鲁克先生,我理解。Sorry@AAngelo:学习愉快“先生”并不是以StackExchange的标准,也不是这里人们的贡献方式。从今往后避免它。谢谢,非常感谢,先生。我还想问一下,为什么我无法在控制台中删除任何键入的文本?还是我必须为它编一条新的线索?@AAngelo不要在同一个问题中混用问题。“如果你有其他问题,请提出另一个问题。”安德鲁克先生,我理解。Sorry@AAngelo:学习愉快“先生”并不是以StackExchange的标准,也不是这里人们的贡献方式。从今往后避免它。非常感谢。
if((ch >= 'a' && ch<='z') || (ch>='A' && ch<='Z'))
{

}
else if(ch == 13) //This has allowed you to check if the user has pressed Enter on keyboard.
{
    break;
}