C#中for语句问题

来源:百度知道 编辑:UC知道 时间:2024/04/29 16:21:47
代码
static void Main(string[] args)
{
int linenum = 5;
for (int i = 0; i < linenum; ++i)
{
int j;
for (j = 1; j < linenum - i; ++j)
{
Console.Write(" ");
}
for (; j <= linenum; ++j)
{
Console.Write("*");
if (j < linenum)
{
Console.Write(" ");
}
}
Console.WriteLine();
}
Console.ReadKey();

}
和代码
static void Main(string[] args)
{
int linenum = 5;
for (int i = 0; i < linenum; ++i)
{
int j;
for (j

就是一个有赋值一个没有赋值的问题,象你“for(; j <= linenum; ++j)与for(j=1; j <= linenum; ++j)”所写的,那么你输出的结果会是,没有给j赋初值而产生错误。
那如果是for(j=1; j <= linenum; ++j)在前for(; j <= linenum; ++j)在后,那就要看情况了,要是前面的linenum比后面的大,那输出的结果两个值一样大,即使linenum=0,也是。那要是前面的linenum比后面小就会输出自己本身循环自加的值。

for(; j <= linenum; ++j)
你有指定它循环的条件,可能要报错哈,要不就是死循环