看个小代码,前后只是改变了i,j声明的位置,可第二个报错
/*用循环语句构造方阵*/
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i,j;
static int a[5][5]; /*用static,可为其赋初值0*/
a[0][0] = 5; /*为a[0][0]赋初值,以此为基础通过运算得出其它结果*/
for (i = 0; i < 5; i++)
for (j = 0; j < 5 - i; j ++)
a[i][j] = a[0][0] + i - j; /*!!!通过观察发现每个数字与所处行列之间的关系*/
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
printf("%-4d",a[i][j]); /*格式输出构造的方阵*/
printf("\n");
}
system("pause");
return 0;
}
/*用循环语句构造方阵*/
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
static int a[5][5]; /*用static,可为其赋初值0*/
a[0][0] = 5; /*为a[0][0]赋初值,以此为基础通过运算得出其它结果*/
int i,j;
for (i = 0; i < 5; i++)
for (j = 0; j < 5 - i; j ++)
a[i][j] = a[0][0] + i - j; /*!!!通过观察发现每个数字与所处行列之间的关系*/
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
printf("%-4d",a[i][j]); /*格式输出构造的方阵*/
printf("\n");
}
system("pause");
return 0;
}
应该是你中英文的分号写错了,看自己的错误提示,第八行附近
我本以为是分号的问题,但确实不是,VS也没有报错说未识别的字符啊,到底是哪里的问题啊
我用编译器试了一下,没报错。