C 需要从#和
我必须从C 需要从#和,c,spiral,C,Spiral,我必须从#和创建螺旋。它必须根据变量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 righ
#
和
创建螺旋。它必须根据变量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] = '#';
}
chara[100][100];
int n=7;
int r,s;
无效写入(字符*a[],整数n)
{
int i,j;
为了(i=0;i回答您关于分段错误的问题:
正如我在评论中提到的,您需要将“
从字符串更改为类似于so”的字符。
接下来是在write函数中,参数要求的数组类型错误。您指定的是char*a[]
,而您需要的是char a[100][100]
。这对我很有效
关于预期的行为,由您自己决定如何定义螺旋。每当您访问数组时,您的程序将在write()函数中出现分段错误。因此,您需要在write()函数中复制整个数组。请使用下面的命令。
write(*a[100][100],int n)您在这里为字符数组分配字符串a[i][j]=”;您需要像这样分配字符a[i][j]=”;忽略scanf()的返回值“你自己的风险。不要考虑,为什么<代码> UP/代码>,<代码>下,<代码>左,<代码>右< /代码>功能相同。检查你的任务。这个任务通常是由教师创建的,限制不使用和排列,而是只需一行就直接打印行。全局变量被初始化为0。没有帮助,仍然得到分割fault@interjay我的错,我忽略了that@Dudo更新后的回答很好,谢谢。但是不打印任何内容。如果我想打印结果,我应该使用2个周期来打印整个数组,对吗?在写函数签名/调用中尝试执行的操作没有意义