如何更改指针';s值乘以++;在C函数中?

如何更改指针';s值乘以++;在C函数中?,c,pointers,C,Pointers,我对C语言中的指针没有真正的经验,我得到了以下代码: void backtrack(int *pback1, int *pback2) { if (condition) *pback1++; else if (another condition) *pback2--; else if (third condition) *pback1++; else if (last condition) *pback2++; } int mai

我对C语言中的指针没有真正的经验,我得到了以下代码:

void backtrack(int *pback1, int *pback2)
{
  if (condition)
      *pback1++;
  else if (another condition)
      *pback2--;
  else if (third condition)
      *pback1++;
  else if (last condition)
      *pback2++;
}

int main()
{
  int b1, b2;
  b1=7, b2=9;
  backtrack(&b1, &b2);
  printf("%d %d", b1, b2);
  return 0;
}
代码打印结果时没有任何更改(7 9)。
要使其正常运行,应该修改哪些内容?

您不是在增加值,而是在增加指针,请尝试
(*pback1)+
而不是后缀
++
-
运算符的值高于
*
解引用运算符,因此
*pback++
增加指针
pback
,而不是它指向的对象。您想要
(*pback)+

最好的解决方案可能是
*pback1+=1但这样做违背了练习的目的。@Lundin:谢谢,更新了。虽然前缀没有歧义,因为很清楚
+*pback
*++pback
应该做什么。