c - 循环遍历数组,然后向后循环。[C]
问题描述
我想让一个程序循环遍历数组,然后向后循环。如何用更少的 C 代码让它变得更好?数组有 8 个元素!
while (1) {
if (i == 0) {
direction = 0; // RIGHT DIRECTION
}
if (i == 7) {
direction = 1; // LEFT DIRECTION
}
PORTD = array[i]; // NEEDED ARRAY ELEMENT
if (direction == 0) {
i++;
} else {
i--;
}
}
解决方案
您可以通过direction
为下一个索引1
或-1
.
这是修改后的版本:
int i = 0, direction = 1;
for (i = 0;; i += direction) {
if (i == 0) {
direction = 1; // RIGHT DIRECTION
} else
if (i == 7) {
direction = -1; // LEFT DIRECTION
}
PORTD = array[i]; // NEEDED ARRAY ELEMENT
}
推荐阅读
- android - Play Games Sign in 在 Play 商店中发布后无法正常工作,但当我在 android studio 的 android 设备上进行测试时它可以正常工作
- sql - 带有连接的 SQL 合并语句
- c - 高效的模 255 计算
- php - select2 给出重复的下拉列表
- python - 一键单击Tkinter python期间多次更改标签文本
- html - 悬停在兄弟元素上时菜单消失
- google-cloud-platform - 使用 KMS 密钥在 Terraform for GCP 中创建 VM 时出错(创建实例时出错:googleapi:错误 503)
- google-apps-script - 如何使用谷歌脚本将每个谷歌工作表导出为自己的文档?
- java - Apache Camel 与 Spring Boot 消息组构建
- python - 如何迭代和计算熊猫数据框 pivot_table 中列的平均值