MAX功能十次有九次实现不了啥情况


#include
void MAX(char *p)
{
    while(*p!='\0')
    {
        if(*p>='a'&&*p<='z')
        {
            *p=*p-32;    
        }
        while(*p!=' ')p++; //定位单词间空格的位置 
        p++;                //下次循环从空格的下一个位置开始 
    }
}
int main()
{
    char str[100]="the early bird catches worm";
    puts(str);
    MAX(str);
    puts(str);
}

img

  • 里面一个 while循环,要再判一下 ’\0‘, 不然就死循环了

img


如有帮助,欢迎点赞+采纳哈!

while里面的while那行没啥用,去掉试下

img


这一行有问题,直接删掉