【发布时间】:2016-10-12 21:50:51
【问题描述】:
我有一个整数数组(代表一个 4 位数字),我需要递增它,以便每个整数永远不会超过 3。基本上,它需要打印每个不包含 4 或更高的 4 位数字它。与实际输出相比,这是我期望的输出:
Expected: 0000 0001 0002 0003 0010 0011 0012 0013 0020 0021 0022 .... 3333
Received: 0000 1000 2000 3000 3100 3200 3300 3310 3320 3330 3331 3332
我知道我的算法搞砸了,但我不知道该怎么办:
int i, c[4];
memset(c, 0, sizeof(c));
i = 0;
while (1) {
testprint(c);
c[i]++;
if (c[i] == 3)
i++;
if (i == 3)
break;
}
testprint 所做的只是显示数组中的每个数字。那么我应该如何更改我的代码以正确增加数组?我什至需要使用数组吗?没有人我怎么办?
【问题讨论】:
-
您的代码不会打印任何
4的...您确定这是您的真实输出吗? -
如果您想打印每 4 位数字,您将需要包含更多逻辑。目前,您循环第一位数字,然后循环第二位等,例如,这不会得到第一位数字低于第二位数字的数字。
-
@M.M 很抱歉
4s,它来自以前的版本...