NLe*_*Led 1 c arrays buffer text scroll
我有一个我不太懂的功能
从0到110有109个地址.
这段代码如何将文本向左移动?
b=0;
while(b<109)
{
Display_Buffer[b] = Display_Buffer[b+1];
b++;
}
Run Code Online (Sandbox Code Playgroud)
如果b从0开始,那么b + 1应该将文本滚动到右边而不是??? 或者我错了?因为在0,b + 1表示地址是1,如果它是b-1,那么地址应该是110(因此向左滚动)......但不是这里的情况,有人可以提供粗略的解释吗?
display_buffer包含存储在其数组中的字符串信息.
-
编辑
多谢你们 !!如果我用[b-1]替换Display_Buffer [b + 1] ...会反转这个过程怎么办?怎么样 ?
好吧,我意识到我必须添加b = 109和while(b!= 0)..否则就没有意义了.
但是,如果Display_Buffer [109] = Display_Buffer [108],这是否意味着它会产生与你们回答的相同的效果,但相反?
每个位置都分配了右侧位置的值,因此效果是向左滚动.
考虑这个令人敬畏的ASCII艺术:
0 1 2 3 4
Before: [h][e][l][l][o]
After: [e][l][l][o][ ]
位置0的槽位设置为槽1的值,因此'h'变为'e',依此类推.
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |