引用 | 编辑
csr
2011-06-28 20:47 |
楼主
▼ |
||
x0
#include<stdio.h>#include<stdlib.h> #include<conio.h> int main(void) { char get; int i=0; printf("请输入密码:"); for(i=0;i<5;i++) { if(i==5) .. 访客只能看到部份内容,免费 加入会员 x0
|
引用 | 编辑
ebolaman
2011-06-28 22:49 |
1楼
▲ ▼ |
修正成这样就行了:
复制程式 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> int main() { char get[5]; int i=0; printf("请输入密码:(最多4位)\n"); for(i=0;i<=5;i++) { if(i==5) { printf("\n输入太多位数!!\n"); system("pause"); return 0; } get[i]=getch(); if(get[i]==13 || get[i]==10) //If user inputs return key break; printf("*"); } printf("\n你输入的密码为:"); for(i=0;i<5;i++) printf("%c",get[i]); printf("\n"); //Pause system("pause"); return 0; } 我看到的问题: (1) 检查程序放在 "输入完" 后会比较洽当 (2) for 在 i 值为 5 时就跳出 for(i=0;i<5;i++){} 的回圈,因此不会执行到 if(i+1==5){printf("\n输入太多位数!!");return 0;} 也可以将 < 改成 <= 即可解决,但以回圈的意义上来看,这样不太好,有点多跑一点的感觉 x1 |
引用 | 编辑
csr
2011-06-29 14:03 |
2楼
▲ ▼ |
原来是这样
唉 还是学艺不精 非常感谢大大清楚说明 小弟心领了谢谢 不过 当小弟打超过四位时 程式也还是没执行此行喔 printf("\n输入太多位数!!\n"); x0 |