C编程:数组

  • 本文关键字:数组 编程
  • 更新时间 :
  • 英文 :


下面的C代码没有给出一个完全正确的答案:

#include<stdio.h>
#include<conio.h>
int main()
{
    int i,j,a[3][3];
    for(i=1;i<=3;i++)
    {
        printf("n");
        for(j=1;j<=3;j++)
        {
            a[i][j]=i+j;
            printf("%dt",a[i][j]);
        }
    }
}

运行时,给出第(2,3)个元素的错误结果。这里出了什么问题?

数组在c语言中为零源。

改变
(i=1;i<=3;i++)

(i=0;i<3;i++)

(j循环也是如此)。

如果你有一个数组定义为例如

int a[N];

则索引的有效范围为[0, N - 1]

在C/c++中索引从0开始

用C编写的程序可以如下所示

#include <stdio.h>
int main( void )
{
    const int N = 3;
    int a[N][N];
    int i, j;
    for ( i = 0; i < N; i++ )
    {
        printf( "n" );
        for ( j = 0; j < N; j++ )
        {
            a[i][j] = i + j + 2;
            printf( "%dt", a[i][j] );
        }
    }
}

不需要包含标题<conio.h>,因为它的声明都没有被使用。

最新更新