填空题 以下程序用于计算一个英文句子中最长单词的长度。假设句子中只含有英文字母和空格,空格为单词之间的分隔符。
#include<stdio.h>
int main()
{
char*p, s[]={"I am a student"};
int max=0, t;
p=s;
while( 1)
{
t=0;
while(*p!=""&&*p!="/0")
{
2;
p++;
}
if(max<t)
max=t;
3;
}
printf("max=%d", max);
return 0;
}
【正确答案】
【答案解析】*p!="/0" t++ p++[解析] 程序应从第1个字符开始扫描整个句子,利用单词的分隔符(空格)计算出各单词的长度,然后通过比较,获得最长单词的长度。外循环的条件应是未遇到结束字符,对一单词处理后应使p指向下一字符位置,由此不难得到第一空和第三空的答案。内循环利用单词的分隔符计算当前处理单词的长度,只要未遇到空格或结束符,当前处理的单词长度就应加上1,可得第二空答案。