我在 c# visual basic 2010 中有以下代码:
for (int i = 7; i > 0; i--)
{
Char star = '*';
string numbers = "765432" ;
//Console.WriteLine(star);
for (int a = 0; a < i; a++)
{
Console.Write(star);
}
for (int b = 0; b < i; b++)
{
numbers.TrimEnd(numbers[numbers.Length - 1]);
Console.Write(numbers);
}
Console.WriteLine();
}
Console.ReadLine();
我期待结果:
*765432
在屏幕上重复 7 次,但我得到:
*****765432765432765432765432765432
****765432765432765432765432
***765432765432765432
**765432765432
*765432
(我无法显示完整的结果,因为它没有在屏幕上正确返回,但基本上是变量星号和数字在第 1 行显示 7 次,在第 2 行显示 6 次等,直到第 7 行显示一次)
我的理解是,在 for 循环中声明的a
andb
变量应该指示输入 for 循环的次数,为什么要写入 star 和 numbers 变量 7 次然后 6 次以匹配循环输入的次数? 特别是当它们被初始化为*
and时765432