如题所述
可以的,比如
#include<stdio.h>
int main()
{int i;
char s[3][40];
for(i=0;i<3;i++)
gets(s[i]);
for(i=0;i<3;i++)
printf("%s\n",s[i]);
return 0;
}追问
#include<stdio.h>
int main()
{int i;
char s[3][40];
for(i=0;i<3;i++)
gets(s[i]);
for(i=0;i<3;i++)
printf("%s\n",s[i]);
return 0;
}追问
这里的s[i]指的什么,是s[0][0]-----s[0][39]然后s[1][0]--s[1][39]等等,这样吗?
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-03-07
这里的s[i]指的什么,是s[0][0]-----s[0][39]然后s[1][0]--s[1][39]等等,这样吗?
s[i]指的是包含元素s[i][0]---s[i][39]的数组的首地址,就像对于t[10],则 t 是数组t[10]的首地址
s[i]指的是包含元素s[i][0]---s[i][39]的数组的首地址,就像对于t[10],则 t 是数组t[10]的首地址
第2个回答 2020-02-03
是的
如果要用于二维数组,需要取二维数组中的第一维。
即
char
a[100][100];
gets(a[20]);
这样可以。
gets(a);
理论上也能用,等效于a[0],但一些编译器会报错。
一般不这么写。
如果要用于二维数组,需要取二维数组中的第一维。
即
char
a[100][100];
gets(a[20]);
这样可以。
gets(a);
理论上也能用,等效于a[0],但一些编译器会报错。
一般不这么写。