char a[10][10]什么意思啊,字符串怎么还可以用数组
03.intmain()04.{05.charstr[10][20],str2[]={'s','t','o','p','\0'};06.inti,num=0;08.for...
03.int main()
04.{
05. char str[10][20],str2[]={'s','t','o','p','\0'};
06. int i,num=0;
08. for(i=0;;i++)
10. {
11. scanf("%s",str[i]);
12. if(strcmp(str[i],str2)==0)
13. break;
14. num++;
15. }
16. printf("%d\n",num);
17. return 0;
18.}
求解释,05行的str[10][20]是表示10行20列的字符吗?11行的输入为什么不是嵌套循环?12行的str[i]指的是什么? 展开
04.{
05. char str[10][20],str2[]={'s','t','o','p','\0'};
06. int i,num=0;
08. for(i=0;;i++)
10. {
11. scanf("%s",str[i]);
12. if(strcmp(str[i],str2)==0)
13. break;
14. num++;
15. }
16. printf("%d\n",num);
17. return 0;
18.}
求解释,05行的str[10][20]是表示10行20列的字符吗?11行的输入为什么不是嵌套循环?12行的str[i]指的是什么? 展开
1个回答
展开全部
就是二维数组啊,每个里面都存的是字符而已,不过不是字符串,字符串有结束符'\0',这个是没有的。
更多追问追答
追问
那为什么输入用
for(i=0;;i++)
{
scanf("%s",str[i]);
。
。
。
难道不应该是嵌套循环吗
追答
不需要啊,你可以看成很多个一维的数组,每个数组存进一个字符串,就只用一个循环就可以了。
而且每个一维你可以视情况而定,普通的话你就看成存了很多个字符,是二维排列的。
他这样写,是每一个str[i]代表了一个一维数组的开头,然后存进字符串,其实也是一串连续的字符,都是一样的,只是存的方式不一样,就好比我给一个班发试卷,我一个一个发,和给第一组第一个人发他们人数的试卷,他们按顺序传下去。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |