我必须从 #
创建螺旋和.
。它必须根据变量 n
进行扩展。问题是我无论如何尝试都无法创建它。到目前为止,我的程序在测试中出现段错误。在描述图像中输出 n = 7
.
有人可以帮忙吗?
char a[100][100];
int n = 7;
int r,s;
void write(char *a[], int n)
{
int i, j;
for (i=0;i<n;i++)
{
for (j=0; j<n;j++)
a[i][j]=".";
}
}
void right (int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
void down(int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
void up(int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
void left(int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
最佳答案
回答有关段错误的问题:
正如我在评论中提到的,您需要将 "."
从字符串更改为字符,如 '.'
。
接下来是在您的 write 函数中,参数需要错误类型的数组。您指定的是 char *a[]
,而您需要的是 char a[100][100]
。这对我有用。
关于预期的行为,这取决于您对螺旋的定义。
关于c - 需要从#和写出螺旋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53866626/