题解 | #字符串最后一个单词的长度#
字符串最后一个单词的长度
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;
#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语言输入方法有,注意项字符串有空格,如何完整输入
我的思路是输入的字符串,从最后一个字符开始遍历,直到是空格,输出最后一个字符串的长度
查看2道真题和解析
携程公司氛围 125人发布