C 为什么函数j的值不递减?

C 为什么函数j的值不递减?,c,xcode,computer-science,C,Xcode,Computer Science,我一直试图得到一个输出,作为-- 在单独的行中,但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;

我一直试图得到一个输出,作为--

在单独的行中,但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;
}
#包括
int main()
{
int i,j;
对于(i=1;i=1;j--)
{
printf(“*”);
}
printf(“\n”);
}
返回0;
}

我想你想要的是

for(j = (5-i+1);j >= 1;j--)

设置嵌套for循环时出错。计数器j应从5-i+1开始。

变化

for(j = 5;j >= 1; j--)


请看

您的代码有点违反直觉;您应该让外部循环保存该行上所需的星星数,内部循环保存当前的星星数:

for (int stars = 5; stars > 0; stars--) {
    for (int count = 0; count < stars; count++) {
        printf("*");
    }
    printf("\n");
}
for(int-stars=5;stars>0;stars--){
对于(int count=0;count

>0
通常用于代替
=1
)。

请发布代码,而不是屏幕截图(实际上更容易)。int main();{int i,j;for(i=1;i=1;j--){printf(“*”;}printf(“\n”);}返回0;}不,编辑你的问题。这不再可读。代码中没有函数
j
。一个函数怎么会被递减呢?你是说变量
j
?这是错误的。它会把图案打印颠倒。
for(j = 5;j >= i; j--)  
for (int stars = 5; stars > 0; stars--) {
    for (int count = 0; count < stars; count++) {
        printf("*");
    }
    printf("\n");
}