1.计算字符串最后一个单词的长度,单词以空格隔开
程序员文章站
2022-03-06 10:03:08
...
自我解析:由于输入描述中给出了字符串的最大长度,因此用最简单粗暴的方法,申请一个大小为5000的字符串数组。
但是scanf遇到回车、空格、tab均会自动在字符串后添加'\0',根据使用strlen函数获取字符串长度的原理,选择通过gets函数获取字符串(能够将回车作为'\0'存入数组末端,接受之前输入的所有字符),再从数组末端开始遍历直到字符串开头或者第一个空格(' ')停止。
注:strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。
#include <stdio.h>
#include <string.h>
int main(){
char str[5000];
gets(str);
int i;
int length = strlen(str);
int count = 0;
for(i = length - 1; i >= 0; --i){
if(str[i] != ' '){
count++;
}
else{
break;
}
}
printf("%d\n", count);
return 0;
}
上一篇: 当arr为数组名时,arr与&arr
下一篇: linux怎样修改字符集