很抱歉我的英语不好!
我写了一个程序,要求你输入一个密码,长度不能超过八个字符。超出限制的字符将从数组中被删除:
#include <stdio.h>
#define MAXCHAR 8
main()
{
char password[MAXCHAR];
int i;
char c;
printf("Insert password: MAX 8 CHARS!\n\n");
for(i = 0; i <= MAXCHAR; i++){
c = getchar();
if(i == MAXCHAR){
break;
}
else{
password[i] = c;
}
}
printf("%s\n", password);
}
程序可以运行,但是存在一个“奇怪”的问题。如果限制为8个字符,而我输入的密码超过了8个字符(例如:P455w0rds98),则输出将会如下所示:
P455w0rd☺
所以它在结尾放上了一个笑脸,我不知道为什么。只有当限制设定为8时才会发生。