c - 我在链接中提供了以下图像代码。在 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"); } } } }
解决方案
以下是代码的发布方式:
每行代码前面有 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.
您真的不希望您的代码产生任何警告或任何错误。
为了便于阅读和理解:
- 一致地缩进代码。在每个左大括号“{”后缩进。在每个右大括号 '}' 之前取消缩进。建议每个缩进级别为 4 个空格。
- 遵循公理:每行只有一个语句,并且(最多)每个语句一个变量声明。
- 变量名(和参数名)应指示
content
或usage
(或更好,两者兼有) - 在括号内、方括号内、大括号内、逗号后、分号后、C 运算符周围插入合理的空格
main()
请注意,该函数只有两个有效签名。这两个签名都有一个返回类型int
不要张贴图片。相反,将实际文本复制并粘贴到您的问题中
你是什么意思:不能迭代空格?
推荐阅读
- regex - 使用 unix shell 脚本移动到另一个文件夹时更改文件名
- python - 如何使表中的多个外键引用django中引用的表的不同列
- linux - grep 空输出文件
- javascript - 在导出的 Angular Elements Web 组件上设置事件监听器
- algorithm - CPLE 如何动态设置决策变量数组
- java - 将 Java 对象写入文本文件时获取不可读(我认为是二进制)文件
- kotlin - kotlin 中的 javaClass 返回意外类型
- reactjs - 在反应材料 UI ListItemIcon 中更改颜色
- java - 如何将日期和时间选择的数据发送到 PositiveButton?
- java - 如何使用java以编程方式更改矢量drawable的大小