#include"stdio.h"
int main()
{
int a[3][4] ={{11,12,13,14},{21,22,23,24},{31,32,33,34}};
printf("%d\n",a[1]);
printf("%d\n",a[2]);
return 0;
}
如上,我只想打印第一行和第二行的数据,这样写可以吗,gcc编译通过,但是结果不对。
是因为这样的,为看到另外一个程序 如下。
char str[3][20];
int i;
for (i=0;i<3;I++){
gets (str[i]);}
这里就是让我们输入三个字符串,在同一个数组里面,每行输入一串。
这样在一个数组里面,每行可以算作单独的一个字符串吗??这里的str[i]为什么就可以只写行数呢?
i 是从0开始的没错呀,
恩, 字符数组可以一次性puts出来
是因为这样的,为看到另外一个程序 如下。
char str[3][20];
int i;
for (i=0;i<3;I++){
gets (str[i]);}
这里就是让我们输入三个字符串,在同一个数组里面,每行输入一串。
这样在一个数组里面,每行可以算作单独的一个字符串啊??为什么这里可以用str[i],直接用i来代替一个行呢?这不也是一维了么~
你的意思就是输入三行字符串,然后输出其中的一行是吧,那你可以特定的输出啊如输出第二行为 :for(int i=0;i<n;i++)
{
printf("%d",a[2][i]);
}
请问一下,arr这个是什么意思呢?是自己定义的名字吗?
追答arr是数组名,相当于你程序中的a,你好好复习一下二维数组的概念,你写的那个a[1]是第二行元素的地址,并非元素本身。
追问是因为这样的,为看到另外一个程序 如下。
char str[3][20];
int i;
for (i=0;i<3;I++){
gets (str[i]);}
这里就是让我们输入三个字符串,在同一个数组里面,每行输入一串。
这样在一个数组里面,每行可以算作单独的一个字符串吗??这里的str[i]为什么就可以只写行数呢?书上说这里可以看成3个一维数组,也就是char str[3][20]这里。怎么理解哦
每行是一个字符串,每行最多存储20个字符。str[i]表示的是第i行的地址,而第i行的地址又是一个一位数组的首地址,所以它可以存储。