(对不起,我的英语不好 !)
\n\n我编写了一个程序,要求您输入不超过特定数字的密码,在本例中为八个字符。超过限制的字符将从数组中删除:
\n\n#include <stdio.h>\n#define MAXCHAR 8\n\nmain()\n{\n char password[MAXCHAR];\n int i;\n char c;\n\n printf("Insert password: MAX 8 CHARS!\\n\\n");\n for(i = 0; i <= MAXCHAR; i++){\n c = getchar();\n\n if(i == MAXCHAR){\n break;\n }\n else{\n password[i] = c;\n }\n }\n\n printf("%s\\n", password);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n所以该程序可以运行,但存在一个“奇怪”的问题。如果限制是八个并且我输入的密码超过八个字符\n(示例:P455w0rds98)\n输出将如下所示:
\n\nP455w0rd\xe2\x98\xba\nRun Code Online (Sandbox Code Playgroud)\n\n所以它在最后放了一个笑脸,我不知道为什么。仅当限制设置为八时才会发生这种情况。
\n