1.第一次使用数组【】代表最多可使用1000个字符在english这个数组
2‘新认识fgets这个函数。fgets是用于输入的函数,其输入的内容会包含\n即回车键。
因此如要检测英语字母有多少个,我使用函数将回车键换成终止符\0
3.fgets的用法,fgets由三段组成,第一段为输入的对象(english),第二段为输入的最大字符串大小为多少,这里把english数组的字符串大小来当作输入的max值。第三个为输入类型,这里一般填stin,应该是键盘的意思。
4.strcspn函数的用法。此函数用于检测字符串内第一个特定字符,这里是检测\n,然后输出它所在字符串的位置。
5’ strlen函数的用法:检测字符串的长度,
- 返回值:返回字符串的长度(不包括字符串末尾的空字符
\0
)。
int main() {
char english[1000]; // 定义更大的字符数组
printf("请输入英语:");
fgets(english , sizeof(english), stdin); // 读取包含空格的字符串 fgets会输入回车即/n
english[strcspn(english, "\n")] = '\0';
// 去除换行符
/* strcspn 函数会返回 english 字符串中第一个出现的 \n 的位置。
例如,如果 english 是 "Hello\nWorld", strcspn(english, "\n") 将返回 5,因为 \n 是第六个字符(从 0 开始计数)。
english[strcspn(english, "\n")]:
这部分代码使用 strcspn 返回的索引来访问 english 字符串中第一个 \n 的位置。
继续上面的例子,这部分代码相当于 english[5]。
= '\0':
将 english 字符串中第一个 \n 替换为字符串结束符 \0。
这样,english 字符串在第一个 \n 处被截断,变成 "Hello"。
*/
// 去除换行符
int len = strlen(english); // 计算字符串长度
printf("一共有 %d 个字母\n", len);
return 0;
}