为什么函数 j 的值不递减?
Why is the value of function j not decrementing?
我一直在尝试将输出作为 --
*****
****
***
**
*
在不同的行中,但 Xcode 在每行中显示 5 颗星。如何获得函数 j 的递减值?
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=5;j>=1;j--)
{
printf("*");
}
printf("\n");
}
return 0;
}
我想你想要的是
for(j = (5-i+1);j >= 1;j--)
你在设置嵌套for循环时犯了一个错误。计数器j应该从5-i+1开始。
改变
for(j = 5;j >= 1; j--)
到
for(j = 5;j >= i; j--)
见Demo
你的代码有点counter-intuitive;你应该让外循环保存你想要在该行上的星星数,而内循环保存当前的星星数:
for (int stars = 5; stars > 0; stars--) {
for (int count = 0; count < stars; count++) {
printf("*");
}
printf("\n");
}
(一般用> 0
代替>= 1
)。
我一直在尝试将输出作为 --
*****
****
***
**
*
在不同的行中,但 Xcode 在每行中显示 5 颗星。如何获得函数 j 的递减值?
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=5;j>=1;j--)
{
printf("*");
}
printf("\n");
}
return 0;
}
我想你想要的是
for(j = (5-i+1);j >= 1;j--)
你在设置嵌套for循环时犯了一个错误。计数器j应该从5-i+1开始。
改变
for(j = 5;j >= 1; j--)
到
for(j = 5;j >= i; j--)
见Demo
你的代码有点counter-intuitive;你应该让外循环保存你想要在该行上的星星数,而内循环保存当前的星星数:
for (int stars = 5; stars > 0; stars--) {
for (int count = 0; count < stars; count++) {
printf("*");
}
printf("\n");
}
(一般用> 0
代替>= 1
)。