问题 填空题

下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入:
I am a student to take the examination
则应输出:I aM A studenT tO take thE examinatioN
请改正程序中的错误,使它能得出正确的结果。
注童:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
void fun(char *p)

int k=0;
for ( ; *p;p++)
if (k)

/*************found**************/
if (p==’’)

k=0;
/*************found**************/
*p=toupper(*(p-1));


else
k=1;

main()
char chrstr[64];
int d;
clrscr();
printf("\nPlease enter an English sentence within 63 letters:");
gets(chrstr);
d=strlen(chrstr);
chrstr[d==’ ’;
chrstr[d+1]=0;
printf("\nBofore changing:\n %s",chrstr);
fun(chrstr);
printf("\nAfter changing:\n%s",chrstr);

答案

参考答案:错误:if(p==’’) 正确:if(*p==’’)
(2)错误:*p=toupper(*(p-1)); 正确:*(p-1)=toupper(*(p-1));

解析: 本题比较简单,重点考查toupper函数的用法,该函数是将ch字符转换成大写字母,该题较多地应用了字符串处理函数。

单项选择题
单项选择题