黑马程序员技术交流社区
标题:
在字符串指定位置插入一个字符
[打印本页]
作者:
小ㄟMò
时间:
2016-1-2 22:42
标题:
在字符串指定位置插入一个字符
</blockquote></div><p style="line-height: 30px; text-indent: 2em;"></p><div class="blockcode"><blockquote>/**
* 在指定位置插入一个字符,需要引入头文件string.h
*
* @param p 字符串
* @param c 字符
* @param n 位置
*/
void strInsert(char *p, char c, int n) {
/*
思路:从字符串后面开始,前一位赋值给后一位,到指定位置时结束赋值,然后将要插入的字符赋值到该位置
*/
for (int i = strlen(p)+1; i>=n; i--) {
//前一位向后一位赋值
p[i] = p[i-1];
}
p[n-1] = c;
}<p></p>
<p style="line-height: 30px; text-indent: 2em;">/**
* 在字符串中指定位置插入一个字符,无需引入string.h头文件
*
* @param str 字符串
* @param c 要插入的字符
* @param n 插入的位置
*/
void strInsert(char str[], char c, int n) {
int i = n-1;
//定义一个临时变量,用来保存被替换的位置的字符,
char temp = str[i];
//将字符插入该位置
str[i] = c;
/*思路:将插入位置后面的所有字符进行向后移位。先将后一位临时保存,再将保存在临时变量的前一位赋值给后一位位,即与temp进行交换*/
while (str[++i-1] != '\0') {
//交换两个字符
str[i] = str[i]^temp;
temp = str[i]^temp;
str[i] = str[i]^temp;</p>
<p style="line-height: 30px; text-indent: 2em;"> }
}
</p>
复制代码
作者:
小ㄟMò
时间:
2016-1-2 22:44
请忽略网页排版的格式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2