A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. </blockquote></div><p style="line-height: 30px; text-indent: 2em;"></p><div class="blockcode"><blockquote>/**
  2. *  在指定位置插入一个字符,需要引入头文件string.h
  3. *
  4. *  @param p 字符串
  5. *  @param c 字符
  6. *  @param n 位置
  7. */
  8. void strInsert(char *p, char c, int n) {
  9.     /*
  10.      思路:从字符串后面开始,前一位赋值给后一位,到指定位置时结束赋值,然后将要插入的字符赋值到该位置
  11.      */
  12.     for (int i = strlen(p)+1; i>=n; i--) {
  13.         //前一位向后一位赋值
  14.         p[i] = p[i-1];
  15.     }
  16.     p[n-1] = c;
  17. }<p></p>
  18. <p style="line-height: 30px; text-indent: 2em;">/**
  19. *  在字符串中指定位置插入一个字符,无需引入string.h头文件
  20. *
  21. *  @param str 字符串
  22. *  @param c   要插入的字符
  23. *  @param n   插入的位置
  24. */
  25. void strInsert(char str[], char c, int n) {
  26.    
  27.     int i = n-1;
  28.    
  29.     //定义一个临时变量,用来保存被替换的位置的字符,
  30.     char temp = str[i];
  31.    
  32.     //将字符插入该位置
  33.     str[i] = c;
  34.    
  35.     /*思路:将插入位置后面的所有字符进行向后移位。先将后一位临时保存,再将保存在临时变量的前一位赋值给后一位位,即与temp进行交换*/
  36.     while (str[++i-1] != '\0') {
  37.         //交换两个字符
  38.         str[i] = str[i]^temp;
  39.         temp = str[i]^temp;
  40.         str[i] = str[i]^temp;</p>
  41. <p style="line-height: 30px; text-indent: 2em;">    }
  42. }
  43. </p>
复制代码




1 个回复

正序浏览
请忽略网页排版的格式
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马