解读一下此代码: for( i=0;i<n;i++) { b[i] = *(p+(i+m)%n);// }
时间: 2024-04-01 16:31:36 浏览: 55
这段代码是一个循环,循环变量为 i,循环次数为 n。循环体中,对数组 b 的第 i 个元素进行赋值,赋值的值为指针 p 所指向的数组中,下标为 (i+m)%n 的元素的值。其中,m 和 n 是两个整数,p 是一个指向数组的指针。
解释一下代码中的运算符和表达式:
- i+m 表示 i 和 m 的和;
- (i+m)%n 表示将 i+m 的结果对 n 取余,得到的结果是一个在 0~n-1 范围内的整数;
- *(p+(i+m)%n) 表示将指针 p 指向的数组中,下标为 (i+m)%n 的元素的值取出来;
- b[i] = *(p+(i+m)%n) 表示将上一步取出来的值赋值给数组 b 的第 i 个元素。
阅读全文