以下代码的目标是每16次传输执行一次过程: 代码中的cw是争用窗口的值(其技术知识在这里并不重要)
int Nt;
Nt = (Nt + 1) % 16;
if (Nt == 0)
cw_ = cw * 16; // action once transmission count is 16
else
cw_ = cw;
问题是我必须初始化Nt的值,否则代码可能会变得容易出现未来的错误;但是我不能在代码中加上 int Nt = 0 ,因为它每次都会被执行,我需要在每次运行上面的代码之后递增Nt的值以获得16的计数。 / p>
提前致谢。
答案 0 :(得分:2)
将Nt
永久存储在其他地方。或者,但这有诸如全局变量之类的缺点,使其在函数内保持静态。