填空题
下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里”单词”是指由空格隔开的字符串)。例如,若输入"I am a student to take the examination",则应输出"I Am A Student To Take The Examination"。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<ctype.h>
#include<stdio.h>
#include<string.h>
/*********found*********/
void upfst(char p)
{
int k=0;
for(; *p;p++)
if(k)
{
if(*p=="")
k=0;
}
else
{
if(*p!="")
{
k=1;
*p=toupper(*p);
}
}
}
void main()
{
char chrstr[81];
system("CLS");
printf("/nPlease enter an English text line:");
gets(chrstr);
printf("/nBofore changing:/n %s", chrstr);
upfst(chrstr);
printf("/nAfter changing:/n%s/n",chrstr);
}