我没有权利使用超过25行的功能。 我的一个功能只有26行,所以我想简化它。
char *name(int big, int small, int nb, char *tab)
{
while (big < nb)
{
small = 1;
while (small < nb)
{
....
printf("here are the other lines\n");
....
small++;
}
big++;
}
return (tab);
}
大小都初始化为1。 如何在while条件下包含小++和大++?
我试过while (big++ && big < nb)
,这不起作用的原因?
我刚找到的唯一方法是while ((big = big + 1) && big < nb)
有没有人可以解释为什么第一种方法不起作用以及你是否有另一种解决方案?
谢谢
答案 0 :(得分:2)
你可能想要这个(比你的解决方案少两行):
char *name(int big, int nb, char *tab)
{
while (big++ < nb)
{
int small = 1;
while (small++ < nb)
{
....
printf("here are the other lines\n");
....
}
}
return tab;
}
免责声明:这是未经测试的代码。
while (big++ && big < nb)
不起作用,因为它与以下内容完全不同:
while (big < nb)
{
...
big++;
}
使用while (big++ && big < nb)
,您可以将<{1}} 之前增加到测试中。在原始代码中,{<1}}在测试后递增。
BTW:big
与big
相同。