【发布时间】:2020-03-05 03:23:01
【问题描述】:
在这些循环中,我有两个不同的值,我不知道为什么会这样,因为我没有增加它的大小。我在两个循环中都打印了 i,但在内循环中打印时它具有更大的值,而在外部循环中它应该具有的值。
编辑:描述被删除,我只用相关信息重写了它。
你能告诉我为什么会这样吗?
int position = 0;
int size = 4;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < position; j++)
{
printf(" i = %d\n", i);
}
position++;
printf("i = %d\n", i);
}
printf("\n");
这是打印出来的:
i = 0
i = 1
i = 1
i = 2
i = 2
i = 2
i = 3
i = 3
i = 3
i = 3
而期望的输出应该是:
i = 0
i = 1
i = 1
i = 2
i = 2
i = 2
i = 3
i = 3
i = 3
i = 3
【问题讨论】:
-
你能edit 并添加你想要的输出吗?另外,
position的值是多少? -
我假设输出的第一行是 not 缩进的?
-
这个程序应该打印某个字符? 要打印
C中的字符,您需要使用%c格式说明符,但我在显示的例子。如果代码不是太大,请添加完整的代码 -
也许在你的外循环的 top 上添加一个 print 会有所帮助,比如
printf("Top of loop; i = %d\n", i);。 -
你应该把
printf("i = %d\n", i);(没有缩进)放在第二个循环之前