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
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号