c - 未使用计算值

标签 c variables

如何解决这个问题?如果我在其他代码部分中使用该变量,为什么编译器会声明它?

void replace(char ** src, const char s, const char replace) {
   while(*(*src) != '\0') {
      if(* (*src) == s) {
         news[size] = replace;
      } else {
         news[size] = *(*src);
      }
      *(*src) ++; // the error line 
      size++;
   }
   *src = news;
}

最佳答案

当您执行 *(*src)++ 时,您基本上是在取消引用 src,然后在指针上执行后缀增量,然后 取消引用指针。这是一个错误。您没有使用最终值,这就是编译器警告您的原因。

你真正想要的是(**src)++;即取消引用两次然后递增。

关于c - 未使用计算值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9659240/

相关文章:

c - 如何将 char[] 数组转换为 char*

PHP 打开一个文件并给它参数/变量

objective-c - Obj-C IBAction (id)发送者

PHP $_GET 和 $_POST 代码不工作

PHP重命名代码中的所有变量

c++ - 如何扫描 N 个字符串(使用结构)然后反向输出该字符串列表?

c - 使用函数编辑结构

c - 两个不同的字符在 C 中共享相同的 ASCII 值

c - 在 openGL 中构造一条线

javascript - 如何在 javascript 中的另一个 <script> 中使用一个 <script> 的变量?