问答题
【正确答案】正确答案:
【答案解析】解析:①定义字符数组line[80]、word[80]和字符指针变量p,循环整型变量i、j。 ②在for循环语句中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行字符串的如下处理。调用内存分配函数memset给字符数组line和word在内存中分配80个字符空间的大小。使指针变量p指向字符串xx[i]的头,变量j的初值设为0。利用while循环语句,当指针变量p没有到达xx[i]的结尾时,一直执行如下的操作:当*p是字母时,把*p赋给字符数组line,同时字符数组下标j加1,字符指针p加1,指向下一个字母。直到*p是单词间的分隔符时,退出第二层while循环。调用字符串连接函数strcat()在字符串line后面添加一个空格,实现用空格分隔各个单词,再把由前面的单词组成的字符串word连接到当前单词的后面,实现按单词逆序排列。把重新组成的新的字符串利用函数strcpy拷贝到word中。调用函数memset对字符数组line在内存中重新分配80个字符空间,并设置其下标从0开始。当*p非空且不是字母的情况下,指针p加1,指向其下一个字符。依次循环,直到xx[i]的结束。最后把对字符串xx[i]的处理结果word拷贝到xx[i]中,再进行对文章下一行的处理。