1. 程式人生 > >替換空格(c語言完整版程式)

替換空格(c語言完整版程式)

題目:請實現一個函式,把字串中的每個空格替換為“20%”。例如輸入“we are happy”,則輸出“we20%are20%happy”;

#include<stdio.h>
#include<stdlib.h>
#include<string.h>



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); }

這裡寫圖片描述
應該是編譯的問題,我最開始犯的錯誤是,變數沒有在一開始宣告,導致出現錯誤。