一道c语言问题,请各位高手们帮帮忙,谢谢

char p[][20]={“get”,”put”,”out”};表达式strlen(p[0])+strlen(p[1])+ strlen(p[2])的值是 答案是9
“char p[][20]”我对这个表示什么也不太理解,希望大家能帮帮忙解答一下,谢谢!

char p[][20]={“get”,”put”,”out”};
p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。
strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。追问

什么叫“数组中的每个元素都是一个char[20]类型的数组”?不太能理解这句话呢

追答

以char[3]为例,这是一个3个元素构成的数组,其中的每个元素都是一个char类型的变量,可以存放一个字符。
同理,char[3][20]表示一个3个元素构成的数组,其中的每个元素都是一个char[20]类型的数组,可以存放一个最多不超过20个字符的字符串。

温馨提示:答案为网友推荐,仅供参考
相似回答