替换空格(c语言完整版程序)

题目:请实现一个函数,把字符串中的每个空格替换为“20%”。例如输入“we are happy”,则输出“we20%are20%happy”;

#include
#include
#include



void replaceBlank(char string[],int len)
{


    int oriLen = 0;
    //oriLen = 0;
    int numOfBlank = 0;
    int i = 0;
    int newLen;

    int indexOfOriginal;
    int indexOfNew;

    if(string==NULL&&len<=0)
    {
        return;
    }
    while(string[i]!='\0')
    {
        ++oriLen;
        if(string[i]==' ')
        {
            ++numOfBlank;
        }
        ++i;

    }

     newLen = oriLen + numOfBlank * 2;

    if(newLen > len)
    {
        return;
    }


    indexOfOriginal = oriLen;
    indexOfNew = newLen;
    while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)
    {
        if(string[indexOfOriginal] == ' ')
        {
        string[indexOfNew--] = '0';
        string[indexOfNew--] = '2';
        string[indexOfNew--] = '%';
        }
        else
        {
         string[indexOfNew--] = string[indexOfOriginal];
        }
        --indexOfOriginal;

    }

printf("%s",string);

}

void main()
{
    char string[20] = "we are happy";

    replaceBlank(string,30);

}

这里写图片描述
应该是编译的问题,我最开始犯的错误是,变量没有在一开始声明,导致出现错误。

你可能感兴趣的:(c语言)