一个关于二维数组的问题 概念有点乱
比如char a[10][20];是不是 定义一10个二维数组啊,每个数组的长度是20个字符呢?
还是什么其它的啊 我二维数组没看懂啊 书上就写一页 。。。。。
刚开始是理解为 定义了200个变量。。。。。。 分别为a[0][0].....a[10][20]
可是老师上课举了下面这个列子后我有点混乱
题目 :输入十个字符串比较大小
程序:
#include "stdio.h"
#include "string.h"
void main(){
char b[20],a[10][20]; 就这句
int i,j;
printf("input:\n");
for(i=0;i<9;i++)
gets(a[i]);
for(i=0;i<9;i++){
for(j=i+1;j<9;j++){
if(strcmp(a[i],a[j])>0){
strcpy(b,a[j]);
strcpy(a[j],a[i]);
strcpy(a[i],b);
}
}
}
for(i=0;i<9;i++)
puts(a[i]);
}
那上面这道题的char a[10]20]这句话完全没必要用二维数组啊 改成定义一个一维数组char a[10]不就行了???
上课老师好像是说char a[10]20]这句话 的意思 是 定义10个变量 每个变量长度为20.。。。。。
有点晕