C#:For循环解释

use*_*200 -4 c# oop for-loop

我有一个关于C#循环的问题.

我的代码:

 for(i = 1; i < 100; i*=2) 
 {
    Console.Write(i + " ");
 }
 Console.Readkey(); 
Run Code Online (Sandbox Code Playgroud)

我认为结果应该是"2 4 8 16 32 64",但我得到的是"1 2 4 8 16 32 64"."1"来自哪里?

Tae*_*ost 7

您正在将i初始化为1,其中i = 1,这是1的来源.

在循环完成至少一次之前,不会调用增量(你的i*=;部分),所以直到它显示i的值为1之后它才会到达下一个值.

要查看您期望的内容,您需要将循环更改为:

for(i = 2; i < 100; i*=2) 
 {
    Console.Write(i + " ");
 }
 Console.Readkey(); 
Run Code Online (Sandbox Code Playgroud)