###### Nieeee

2016-11-12 12:24 阅读 972

# 求教各位大神 下面这几行代码除去实现功能不看 有哪些编程上的硬伤（无法运行）

#include
#include
#define maxn 10
#define maxm 10
int a[maxm][maxn];
int main()
{
int m,n,a,b;
scanf("%d",&b);
memset(a,0,sizeof(a));
a[0][b-1]=1;
int m=0;
for(i=1;i<=n*n;i++,n--)
{while(m<=b&&a[m][n-1]==0) {a[m][n]=i;m++;}
m=m-1;
while(n>=1&&a[m][n-1]==0) {a[m][n]=i;n--;}
n=n+1;
while(m>=0&&a[m][n-1]==0) {a[m][n]=i;m--;}
m=m+1;
while(n+1<b&&a[m][n-1]==0){a[m][n]=i;n++;}
n=n-1;
}
for(m=1,b=1;m<=n;m++)
for(;b<=m;b++)
printf("%s",a[m][b];)
return 0；}
#这是报错代码**
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(10) : error C2664: 'memset' : cannot convert parameter 1 from 'int' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(11) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(11) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(11) : error C2106: '=' : left operand must be l-value
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(12) : error C2086: 'm' : redefinition
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(13) : error C2065: 'i' : undeclared identifier
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(14) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(14) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(14) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(14) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(14) : error C2106: '=' : left operand must be l-value
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(16) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(16) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(16) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(16) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(16) : error C2106: '=' : left operand must be l-value
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(18) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(18) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(18) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(18) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(18) : error C2106: '=' : left operand must be l-value
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(20) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(20) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(20) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(20) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(20) : error C2106: '=' : left operand must be l-value
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(25) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(25) : error C2109: subscript requires array or pointer type
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(25) : error C2143: syntax error : missing ')' before ';'
D:\C 语言\CodeBlocks\Debug\Cpp1.cpp(25) : error C2059: syntax error : ')'

Cpp1.obj - 1 error(s), 0 warning(s)

• 点赞
• 写回答
• 关注问题
• 收藏
• 复制链接分享