问题描述:给定一个字符串“i am a student”,编写程序使得该字符串中的空格都被‘##’代替。
思路就是定义一个新数组,遍历原数组,如果不等于‘ ’,则将原数组的元素搬到新数组;当等于‘ ’时,
aim[j++] = '#'; aim[j++] = '#'; i++;
等价于
aim[j] = '#'; j++; aim[j] = '#'; j++; i++;
代码如下:
#includechar* repalce(char* str , char * aim, int len) { int i = 0; //遍历str int j = 0; // 遍历aim while(i < len) { if(str[i] != ' ') { aim[j++] = str[i++]; } else //是空格 { aim[j++] = '#'; aim[j++] = '#'; i++; } } return aim; } int main() { char str[] = "i am a student"; char aim[256] = {0}; int len = sizeof(str) / sizeof(str[0]); repalce(str,aim,len); printf("%s",aim); return 0; }
运行结果:
i##am##a##student



