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号