各位给参谋一下这个题有什么问题
函数str1的功能是输入一个英文句子(字符串),将其中每个单词的最后一个字母改写成大写,然后输出此句子。(这里的"单词"是指由空格隔开的字符串)。例如:若输入:"this is a book ",则应输出:"thiS iS A booK "请改正函数str1中的两个错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。程序如下:
#include "stdio.h"
#include "ctype.h"
#include "conio.h"
void str1(char *p)
{
int k=0;
for(;*p;p++)
if(k)
{
if(p==' ')
{
k=0;
*p=toupper(*(p-1));
}
}
else
k=1;
}
void main()
{
char str[100];
int d;
clrscr();
printf("\n please input a string:");
gets(str);
str1(str);
printf("\nafter changing:\n %s",str);
}