c - 在 for 循环中使用模数

标签 c for-loop modulo

我正在尝试了解如何使用 mod 运算符重复循环。

如果你有两个字符串,"abc""defgh",如何使用 % 遍历 abc ,重复它直到到达 defgh 的结尾?即abcdefgh长度的mod关系是什么?

我不太明白这个概念。

最佳答案

简单。

std::string abc("abc");
std::string defgh("defgh");

for (size_t i = 0; i < defgh.length(); ++i)
{
    printf("%c", abc[i % abc.length()]);
}

想想模数运算符在做什么,它离散地将左侧除以右侧,然后吐出整数余数。

例子:

0 % 3 == 0
1 % 3 == 1
2 % 3 == 2
3 % 3 == 0
4 % 3 == 1

在我们的例子中,左边代表“defgh”中的第 i 个位置,右边代表“abc”的长度,结果是“abc”中的循环索引。

关于c - 在 for 循环中使用模数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509228/

相关文章:

c - 用 C 读取和写入文件

c++ - Sublime Text 3 中的 C11 和 C++11 问题

JavaScript Prime 检查器不工作

javascript - 执行模运算的其他方法

c - 为什么我的生产者/消费者不会醒来? C

loops - 在 for 循环中,何时评估循环参数?

C for 循环与 rolled out 循环有不同的效果

java - java中mod的语法是什么

algorithm - 重组包含模数的公式

c - 代码错误(状态机)