zdly.net
当前位置:首页 >> C语言二维数组下标 >>

C语言二维数组下标

下标就是在[]里的,他是重0开头的.具体表示如下:int a[5];//5代表a最后个数组里的元素个数 是初学者吧! 要努力哟!

是按顺序初始化的 在你这个数组里面 就是 a[4][4] = 1 2 3 4 5 6 7 83 9 10 24 2 9 6累加a[i][1]就是第二列2+6+9+2=19

这里a指的是整个数组,而a[0]指二维数组第一行的元素,a[0][0]指数组中的第一个元素.

#include "stdio.h" main() { int a[5][5],max,h,l,i,j; printf("please input numbers:\n"); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); max=a[0][0]; for(i=0;i<5;i++) for(j=0;j<5;j++) if(a[i][j]>max) { max=a[i][j]; h=i; l=j; } printf("The max number is:%d,h=%d,l=%d",max,h,l); getchar(); }

我想那是一个错误,这是明显的数组越界~ 学这么长时间c语言,我从来就没有见过~

题目不是很懂.就你这个例子来看,在int a[10][20]中,a[i]代表第i+1行的行地址即a[i][0]的地址,所以他可以是一个数列或者一个指针

#include int main(void) { int a[2][3]; printf("%d\n%d\n",sizeof(a)/sizeof(a[0]),sizeof(a[0])/sizeof(a[0][0])); return 0;}

第一个下标可以省略,第二个不能省略~

if( a[i][j]>max) {max=a[i][j]; max_i=i; max_j=j;} 加大括号吧

前者可定义的前提是给出了全部或部分元素的值,如arr[][100]={1,2,3,4……},这个时候由于定义了列数,系统会自动在第100个数之后换行,而arr[100][]={1,2,3,4……}的话就之定义了行数,至于第一行在何处换行就不知道了,因为列宽不知道.

ymjm.net | dzrs.net | gyzld.cn | rprt.net | mqpf.net | 网站首页 | 网站地图
All rights reserved Powered by www.zdly.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com