这是我的示例代码:
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++;
将dstptr
和srcptr
都增加一次但我需要增加两个。在C语言中有什么线索可以做到这一点吗?
最佳答案
最好不要在相同的表达式中混合几个操作符,这是危险的,有时难以读取。相反,请执行以下操作:
*dstptr = *srcptr;
dstptr += 2;
srcptr += 2;
或者,如果这是一个选项,请使用最可读的格式:
for(size_t i=0; i<n; i+=2)
{
...
dstptr[i] = srcptr[i];
...
}