题解 | #字符串最后一个单词的长度#

字符串最后一个单词的长度

https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da

#include<stdio.h>
#include<string.h>
int main(){
    char str[5000];
    int n=0;
    int a=0;
    scanf("%[^\n]",str);
    if(str)
    {
        while(str[n]){
        n++;
        }
        for(n=n-1;n>=0;n--){
            if(str[n]!=' '){
                a++;
            }
            else{
                break;
            }
        }
    }else{
        a=0;
    }
    printf("%d\n",a);
    return 0;
}
虽然说是简单题,但有几个细节需要注意
1.字符串变量在初始化是不能被赋值的,刚开始把他和c++混了,直接就想输入的时候定义数组了
2.第二个是定义数组需要写数量,不写数量会被溢出
3.计算数组长度的两个方法区别,strlen会到空格就自动算完,而sizeof是根据你定义数组长度算,所以这里有一个点,需要把输入的遍历一遍,用变量储存字符串的长度,后在用sizeof
4.c语言输入方法有,注意项字符串有空格,如何完整输入
我的思路是输入的字符串,从最后一个字符开始遍历,直到是空格,输出最后一个字符串的长度
全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务