gpt4 book ai didi

c# - for循环直接跳到最后

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:46 26 4
gpt4 key购买 nike

我开始学习 C#,但在我的一项作业中遇到了问题。任务是创建一个由星星组成的金字塔。高度由用户输入指定。

出于某种原因,我的第一个 for 循环跳到了结尾。在调试时,我注意到变量 height 接收到 bar 的值,但之后它跳到最后。我不知道为什么,因为代码对我来说似乎没问题。

do-while 循环用于询问用户一个新值,以防输入的值为 0 或更低。

using System;

namespace Viope
{
class Vioppe
{
static void Main()
{
int bar;

do
{
Console.Write("Anna korkeus: ");
string foo = Console.ReadLine();
bar = int.Parse(foo);
}
while (bar <= 0);

for (int height = bar; height == 0; height--)
{
for (int spaces = height; spaces == height - 1; spaces--)
{
Console.Write(" ");
}
for (int stars = 1; stars >= height; stars = stars * 2 - 1)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
}

最佳答案

for 循环中的条件是必须保持为 true 才能进入循环体的条件。所以这个:

for (int height = bar; height == 0; height--)

应该是:

for (int height = bar; height >= 0; height--)

否则执行赋值,然后检查height是否为0,如果不是(必然如此),则循环结束。

参见 MSDN documentation for for loops获取更多信息。

关于c# - for循环直接跳到最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com