急求!!c语言,翻译以下代码各行什么意思,谢谢了

int mylogin()
{
int i,j,key,count=0;
char password[20];
printf("Please enter the password:");
do
{
for (i=0; i<20; i++)
{
password[i] = getch();
if(password[i]=='\b')/*退格*/
{
system("cls");/*清屏*/
printf("Please enter the password:");
for(j=0;j<i-2;j++)
{
printf("*");
}
i=i-2;
}
if (password[i] == '\x0d')/*回车则终止循环*/
{
password[i]='\0';/*字符串结尾标志*/
break;
}
else
{
printf("*");
}
}
printf("\n");
key=login(password,20);
if(key==1)
{
break;
}
else
{
printf("密码错误!\n请重新输入:");
}
count++;
}while(count<3);
return key;
}
希望得到每一行的翻译,尽可能的详细,谢谢啦

 int mylogin()
  {
  int i,j,关键,count = 0;
  char密码[20];
  printf(“请输入密码:”);
  做
  {
  (我= 0;i < 20;我+ +)
  {
  密码[我]= getch();
  如果(密码[我]= = ' \ b ')/ *退格* /
  {
  系统(“cls”);清屏/ * * /
  printf(“请输入密码:”);
  对于(j = 0;j <我2;j + +)
  {
  printf(“*”);
  }
  我=我2;
  }
  如果(密码[我]= = ' \ x0d)/ *回车则终止循环* /
  {
  密码[我]= ' \ 0 ';/ *字串符结尾标志* /
  打破;
  }
  别的
  {
  printf(“*”);
  }
  }
  printf(" \ n " int mylogin() //返回值为整数的mylogin函数
{
int i,j,key,count=0; //声明并定义4个整型变量,其中count的初值为0
char password[20]; //声明并定义一个容量为20的字符数组
printf("Please enter the password:"); //CMD窗口输出:Please enter the password:
do //do while 语句,先执行后判断,条件不成立,结束
{
for (i=0; i<20; i++) //for循环,i初值0,如果小于20,执行括号里的语句,自加1,再和20比较,成立继续执行括号里语句,直到i大于等于20
{
password[i] = getch(); //给字符数组输入一个字符,getch取得你输入的字符并返回给他
if(password[i]=='\b')/*退格*/ //当你输入退格的时候
{
system("cls");/*清屏*/ //他已经说了
printf("Please enter the password:"); //同上面的printf
for(j=0;j<i-2;j++) //同上面for
{
printf("*"); //.....还是那样

i=i-2; //把i-2的值复制给i

if (password[i] == '\x0d')/*回车则终止循环*/
{
password[i]='\0';/*字符串结尾标志*/
break; //切出循环
}
else if条件不满足,则执行这句
{
printf("*");
}
}
printf("\n"); //输出回车
key=login(password,20); //调用函数自身,并他的返回值给key
if(key==1) //如果key等于1,切出循环
{
break;
}
else 否则输入密码错误(回车)请重新输入:
{
printf("密码错误!\n请重新输入:");
}
count++; cout自加
}while(count<3); 如果cout<3,执行上面的do语句
return key; 返回key的值给函数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-08
int mylogin() //返回值为整数的mylogin函数
{
int i,j,key,count=0; //声明并定义4个整型变量,其中count的初值为0
char password[20]; //声明并定义一个容量为20的字符数组
printf("Please enter the password:"); //CMD窗口输出:Please enter the password:
do //do while 语句,先执行后判断,条件不成立,结束
{
for (i=0; i<20; i++) //for循环,i初值0,如果小于20,执行括号里的语句,自加1,再和20比较,成立继续执行括号里语句,直到i大于等于20
{
password[i] = getch(); //给字符数组输入一个字符,getch取得你输入的字符并返回给他
if(password[i]=='\b')/*退格*/ //当你输入退格的时候
{
system("cls");/*清屏*/ //他已经说了
printf("Please enter the password:"); //同上面的printf
for(j=0;j<i-2;j++) //同上面for
{
printf("*"); //.....还是那样

i=i-2; //把i-2的值复制给i

if (password[i] == '\x0d')/*回车则终止循环*/
{
password[i]='\0';/*字符串结尾标志*/
break; //切出循环
}
else if条件不满足,则执行这句
{
printf("*");
}
}
printf("\n"); //输出回车
key=login(password,20); //调用函数自身,并他的返回值给key
if(key==1) //如果key等于1,切出循环
{
break;
}
else 否则输入密码错误(回车)请重新输入:
{
printf("密码错误!\n请重新输入:");
}
count++; cout自加
}while(count<3); 如果cout<3,执行上面的do语句
return key; 返回key的值给函数

更多知识,来自华夏联盟追问

还是有点不懂
for(j=0;j<i-2;j++)
{
printf("*");
}
i=i-2;
这里 j 代表什么,为什么要 <i-2 呢?最后又为什么重新把i-2赋值给了 i 了呢?
麻烦了!

追答

j代表什么有作者决定,至于作者的用意,你自己揣摩,我已经把语法解释给你听,你可以自己考虑啊,老实说其实是我不想分析你的代码,写得太乱了.....

第2个回答  2012-09-08
一楼的分析等于没分析,他连程序都没看懂,那个 i j k通常用于循环里的局部变量,就是用于控制循环次数的没有什么特殊含义, 你问的那个j其实是打* 就是达到那种别人看不见你输的密码而只看见一排**********的效果,你问的那句话在 if(password[i]=='\b')/*退格*/ 里吗也就是说你在dos窗口按了退格键就是0后面第三个键那么执行下面的语句首先就是从窗口清除你打上去的东西system("cls");/*清屏*/ 然后输出Please enter the password
第3个回答  2012-09-09
buzhidao

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网