Write a C function, to get the length of the last word of a string You may start like this: #include<string.h> int callast(char a[]){
时间: 2024-11-15 15:21:21 浏览: 16
Write-the-output-of-following-C-program1.zip_The Question
为了编写一个C函数来获取字符串中最后一个单词的长度,你可以使用以下步骤:
```c
#include <stdio.h> // For getting the input from user
#include <string.h>
// 函数声明,返回值类型是整数,表示字符串中最后一个单词的长度
int getLastWordLength(const char *str);
// 主函数
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入并去除换行符
input[strcspn(input, "\n")] = '\0'; // 删除末尾的换行符
int wordLength = getLastWordLength(input);
if (wordLength > 0) {
printf("最后一单词的长度是: %d\n", wordLength);
} else {
printf("输入字符串为空或者只有一个空格\n");
}
return 0;
}
// 实现函数,找到最后一个单词的长度
int getLastWordLength(const char *str) {
size_t len = strlen(str); // 获取字符串总长度
size_t i, j;
for (i = len - 1; i >= 0; i--) { // 从后向前遍历
if (str[i] == ' ' || str[i] == '\t' || str[i] == '\0') { // 遇到空格、制表符或结束标志
break;
}
}
// 如果找到了非空字符,则减去1得到单词长度(包括空格)
if (i != 0 && str[i - 1] == ' ') {
i--;
}
return (int)i; // 返回单词长度
}
```
在这个程序中,`getLastWordLength` 函数会逆序检查字符串,直到遇到空格或其他分隔符,然后返回从那个位置到字符串结尾的字节数,即单词的长度。
阅读全文