C#for循环的问题

.Net技术 码拜 4年前 (2016-09-17) 422次浏览
 static void Main(string[] args)
{
int totalNum = 0; int[] num = new int[5];
for (int i = 5; i > 0; i–)
{ num[i – 1] = i; }
for (int i = 0; i < num.Length; i += 2)
{ totalNum += num[i] + i; }
Console.WriteLine(totalNum);
Console.ReadKey();
}
解释:第二个for循环计算数组中下标为偶数的元素及其下标的总和,即(0+1)+(2+3)+(5+4),结果等于15
嗯,本人想问的是第一个为什么是0+1,假如说按照第二个for循环来算,第一次循环的时候,i=0,然后是看到了i+=2,最后第一次循环的i结果应该是2,那么应该是(3+2)啊,为什么是(0+1)呢?
解决方案

20

using System;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int totalNum = 0;
            int[] num = new int[5];
            for (int i = 5; i > 0; i--)
            {
                num[i - 1] = i;
                Console.Write("num[{0}]={1}   ", i - 1, num[i - 1]);
            }
            Console.WriteLine();
            for (int i = 0; i < num.Length; i += 2)
            {
                totalNum += num[i] + i;
                Console.Write("totalNum+={0}+{1}={2}   ", num[i], i, totalNum);
            }
            Console.WriteLine();
            Console.WriteLine(totalNum);
            Console.WriteLine("................按任意键结束");
            Console.ReadKey();
        }
    }
}

聪明人,不应该过度浪费脑筋。应该把精力用来写出更清晰好用的测试程序上,而不要过度用脑容量去死记硬背。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#for循环的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)