C语言 这道题选什么 帮我详细讲解下每一步
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/23 06:32:02
C语言 这道题选什么 帮我详细讲解下每一步
![](http://img.wesiedu.com/upload/0/bf/0bf16cef2e01be39497d9fecc720f52d.jpg)
![](http://img.wesiedu.com/upload/0/bf/0bf16cef2e01be39497d9fecc720f52d.jpg)
选B.
难理解的是while循环语句内的内容,现简单解释一下.
while ( s[i]!='\0' ) // '\0'代表字符串结束,循环在遇到字符串结束符之前进行
{ c1 = s[i]; // 将当前字符存入c1
if ( i==0 ) c2 = ' '; //处理首字符时,令c2为空,这时候i=0,取s[i-1]是非法的.
else c2 = s[i-1]; //如果不是首字符,则令c2为s[i-1],即当前位置的前一个字符.
if ( c1 != ' ' && c2== ' ' ) num++; //如果当前字符不是空格,而上一个是空格,则说明遇到了一个单词,所以num++.
i++; //移到下一个位置再看.
}
总结其算法要点,就是如果当前字符不是空格而上一位置是空格,那么就遇到了一个新单词.
难理解的是while循环语句内的内容,现简单解释一下.
while ( s[i]!='\0' ) // '\0'代表字符串结束,循环在遇到字符串结束符之前进行
{ c1 = s[i]; // 将当前字符存入c1
if ( i==0 ) c2 = ' '; //处理首字符时,令c2为空,这时候i=0,取s[i-1]是非法的.
else c2 = s[i-1]; //如果不是首字符,则令c2为s[i-1],即当前位置的前一个字符.
if ( c1 != ' ' && c2== ' ' ) num++; //如果当前字符不是空格,而上一个是空格,则说明遇到了一个单词,所以num++.
i++; //移到下一个位置再看.
}
总结其算法要点,就是如果当前字符不是空格而上一位置是空格,那么就遇到了一个新单词.