小编Cla*_*isa的帖子

C - 限制字符串长度

(对不起,我的英语不好 !)

\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}\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以该程序可以运行,但存在一个“奇怪”的问题。如果限制是八个并且我输入的密码超过八个字符\n(示例:P455w0rds98)\n输出将如下所示:

\n\n
P455w0rd\xe2\x98\xba\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以它在最后放了一个笑脸,我不知道为什么。仅当限制设置为八时才会发生这种情况。

\n

c arrays loops

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

arrays ×1

c ×1

loops ×1