相关疑难解决方法(0)

C中的合并算法:这是如何工作的?

此C片段是合并算法实现的一部分:

out[i++] = (in1[i1] < in2[i2]) ? in1[i1++] : in2[i2++];
Run Code Online (Sandbox Code Playgroud)

有人可以解释它是如何工作的吗?

c algorithm merge

5
推荐指数
2
解决办法
1390
查看次数

当while条件中有0时,while循环会执行吗?

我们来看看示例代码:

 var limit = 3;
 while(limit--){
   console.log(limit);
   if(limit){
     console.log("limit is true");
   }else{
     console.log("limit is false")
   }
 }
Run Code Online (Sandbox Code Playgroud)

输出将是:

2
"limit is true"
1
"limit is true"
0
"limit is false"
Run Code Online (Sandbox Code Playgroud)

有一个0,这意味着在最后一次条件时是假的.为什么最后一次循环会执行?

javascript while-loop

3
推荐指数
1
解决办法
101
查看次数

for循环中的前缀和后缀增量

给出以下代码

int j = 0;
for (int i = 0; i < str.Length; ++i) {
    if (i==j) {
        Console.WriteLine ("equal");
    }
    j++;
}
Run Code Online (Sandbox Code Playgroud)

我预计++i会改变i,从最初01,从而i==j评价false.

但事实并非如此.为什么?

c# pre-increment post-increment

2
推荐指数
1
解决办法
1751
查看次数

用随机值替换多维数组中的所有项

对于单维数组,通常我会像下面的那样使用for循环,但我想不出一种不涉及大量循环的方法.

for (int i = 0; i < myArray.length; ++i)
{
    myArray[i] = rnd.Next(1, 500);
}
Run Code Online (Sandbox Code Playgroud)

c# arrays

2
推荐指数
1
解决办法
59
查看次数

C++中的前后递增/递减运算符在循环中是否具有相同的性能?

考虑以下两个例子.

class ClassOne
{
 //class definition is here
};

std::vector< ClassOne > myListOfObjects;

std::vector< ClassOne >::const_iterator iter = myListOfObjects.begin();

Example 1: 
for( ; iter < myListOfObjects.end(); **++iter**)
{
   //some operations
}

OR

Example 2: 
for( ; iter < myListOfObjects.end(); **iter++**)
{
   //some operations
}
Run Code Online (Sandbox Code Playgroud)

哪一个更快?循环上下文中的++ iter或iter ++.

原因关闭:

从Brian的帖子复制(使问题更简洁).

您也可以尝试以下类似问题之一:此处此处,此处此处.

c++ for-loop

1
推荐指数
2
解决办法
8331
查看次数

单个语句中的多个递增/递减

var a = 0;
(++a)+(a++)+(++a); 
print(a);
Run Code Online (Sandbox Code Playgroud)

打印3.我假设它只执行单个增量.

var a = 0;
(++a)+(a++)+(--a); 
Run Code Online (Sandbox Code Playgroud)

打印1.此处遵循的规则是什么?

谢谢.

javascript

0
推荐指数
1
解决办法
92
查看次数

为什么i ++和++我在swift2中产生相同的结果?

我正在使用Swift2,我有这两个循环:

for var i: Int = 0; i < 4; i++ {
    print("the i = \(i)")
}

and 

for var i: Int = 0; i < 4; ++i {
    print("the i = \(i)")
}
Run Code Online (Sandbox Code Playgroud)

我在两者得到了完全相同的印刷品.告诉我为什么?

iphone ios swift swift2

-1
推荐指数
1
解决办法
188
查看次数

C#递归增量递减不能用作参数

我正在使用递归将两个数字加在一起,方法是一次将1加到第一个输入,直到达到第二个的值。为什么这项工作...

        private static int AddMethod(int input1, int input2)
    {
        if (input2 == 0)
        {
            Console.WriteLine(input1);
            return (input1);
        }
        else
        {
            input1++;
            input2--;
            return AddMethod(input1, input2);
        }

    }
Run Code Online (Sandbox Code Playgroud)

但是不是这个

    private static int AddMethod(int input1, int input2)
    {
        if (input2 == 0)
        {
            Console.WriteLine(input1);
            return (input1);
        }
        else
        {
            return AddMethod(input1++, input2--);
        }

    }
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2010和.Net 4.0

c# recursion increment

-2
推荐指数
1
解决办法
824
查看次数

为什么 i=i++ 时 i 的值不增加;陈述?

代码:

for(int i=0;i<5;){
  i=i++;
  printf("%d",i);
}
Run Code Online (Sandbox Code Playgroud)

上面的程序无限打印零,这怎么可能?有声明i=i++;。请解释为什么 的值i不增加。

c language-concepts post-increment

-5
推荐指数
1
解决办法
151
查看次数