首页 > 解决方案 > 我在链接中提供了以下图像代码。在 n=2 之后我无法迭代空格,请指导我完成它

问题描述

我是stackoverflow的新手,所以请原谅任何错误。

#include void main() { int i,j,p,n,s; printf("Enter rows:\n"); scanf("%d",&n); if(n==1) { for(i=1;i<=n+2;i++) { for(j=1;j<=i;j++) { printf("* "); } printf("\n"); } } else { for(i=1;i<=3;i++) { for(j=1;j<=i;j++) { printf("* "); } printf("\n"); } for(p=1;p<=n-1;p++) { for(i=1;i<=2;i++) { for(j=3;j<=3;j++) { printf(" "); for(j=1;j<=i+1;j++) { printf("* "); } } printf("\n"); } } } }

在此处输入图像描述

标签: c

解决方案


以下是代码的发布方式:

每行代码前面有 4 个空格

#include <stdio.h>

int main( void ) 
{ 
    int i,j,p,n,s; 

    printf("Enter rows:\n"); 
    scanf("%d",&n); 

    if(n==1) 
    { 
        for(i=1;i<=n+2;i++) 
        { 
            for(j=1;j<=i;j++) 
            { 
                printf("* "); 
            } 

            printf("\n"); 
        } 
    } 

    else 
    { 
        for(i=1;i<=3;i++) 
        { 
            for(j=1;j<=i;j++) 
            { 
                printf("* "); 
            } 

            printf("\n"); 
        } 

        for(p=1;p<=n-1;p++)
        { 
            for(i=1;i<=2;i++) 
            { 
                for(j=3;j<=3;j++) 
                { 
                    printf(" "); 

                    for(j=1;j<=i+1;j++) 
                    { 
                        printf("* "); 
                    } 
                } 

                printf("\n"); 
            } 
        } 
    }
}

但是,当您的代码(以及上述代码)通过编译器运行时,结果如下:

gcc -ggdb -Wall -Wextra -Wconversion -pedantic -std=gnu11 -c "untitled.c" 
untitled.c: In function ‘main’:
untitled.c:5:14: warning: unused variable ‘s’ [-Wunused-variable]
  int i,j,p,n,s;
              ^
Compilation finished successfully.

您真的不希望您的代码产生任何警告或任何错误。

为了便于阅读和理解:

  1. 一致地缩进代码。在每个左大括号“{”后缩进。在每个右大括号 '}' 之前取消缩进。建议每个缩进级别为 4 个空格。
  2. 遵循公理:每行只有一个语句,并且(最多)每个语句一个变量声明。
  3. 变量名(和参数名)应指示contentusage (或更好,两者兼有)
  4. 在括号内、方括号内、大括号内、逗号后、分号后、C 运算符周围插入合理的空格

main()请注意,该函数只有两个有效签名。这两个签名都有一个返回类型int

不要张贴图片。相反,将实际文本复制并粘贴到您的问题中

你是什​​么意思:不能迭代空格


推荐阅读