C 语言简单认识 fgets 和 strlen 函数

#include<stdio.h>
#include<string.h>

int main(void)
{
    char a[6];
    printf("input Max6 char:");
    fgets(a, 6, stdin); // fgets 应该把 enter 键也输入进去了

    //printf("%s\n", a);
    printf("%s", a); 
    printf("strlen() = %d\n", strlen(a));

    return 0;
}

输出:

input Max6 char:123
123
strlen() = 4

fgets 把输入完后的 enter 键换行符读进去了。

把上面的程序输入 5 个字符,结果是这样的:

input Max6 char:12345
12345strlen() = 5  // 12345 后面是没空间了,enter 没有读进来吧。

strlen 返回的字符串长度不包含 \0 把上面的代码改成 scanf 输入测试下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int main(void)
{
    char a[6];
    printf("input Max6 char:");
    //fgets(a, 6, stdin); // fgets 应该把 enter 键也输入进去了
    scanf("%s", a);

    printf("%s\n", a);
    //printf("%s", a); 
    printf("strlen() = %d\n", strlen(a));

    return 0;
}

输出:

input Max6 char:123
123
strlen() = 3
posted @ 2021-06-24 20:33  double64  阅读(237)  评论(0)    收藏  举报