/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ char* replaceSpace(char* s ) { //遇到空格就改成‘%’,‘2’,‘0’三个字符 int i, j = 0, count = 0; int len = strlen(s); for (i = 0; i < len; i++) { if (s[i] == ' ') count++; //计数一共有多少空格 } char* arr = (char* )malloc((count *3+1) *sizeof(INFINITY)); //动态开辟数组空间用于存放空格这边我也不知道他为啥老越界 for (i = 0, j = 0; i < len; i++, j++) { if (s[i] != ' ') arr[j] = s[i]; //不是空格就直接放入arr else if (s[i] == ' ') { arr[j] = '%'; arr[j + 1] = '2'; arr[j + 2] = '0'; j = j + 2; //j与i同步 } } return arr; free(arr); }