这是我的示例代码:

float *dstptr;
float *srcptr;
float A[100];
float B[32];
int main(void)
  {
 int i=0;
 while(i < NUM_ITERATION)
  {
    srcptr = &B[0];
    for(i=0; i< 32; i++)
    {
        *dstptr++ = *srcptr++;
        dstptr = circptr(dstptr,1,(float *)&A[0], 100);
    }
    i++;
}

return 0;
}

这里*dstptr++ = *srcptr++;dstptrsrcptr都增加一次但我需要增加两个。
在C语言中有什么线索可以做到这一点吗?

最佳答案

最好不要在相同的表达式中混合几个操作符,这是危险的,有时难以读取。相反,请执行以下操作:

*dstptr = *srcptr;
dstptr += 2;
srcptr += 2;

或者,如果这是一个选项,请使用最可读的格式:
for(size_t i=0; i<n; i+=2)
{
  ...
  dstptr[i] = srcptr[i];
  ...
}

10-08 20:02