一个二维数组a[10][20]能够存储每个字符串的长度至多为 ? 的 ? 个字符串。
一个二维数组a[10][20]能够存储的每个字符串的长度为19个字符,能够存储10个这样的字符串。
分析:因为二维数组以为的长度为10,所以说二维数组a具有10个长度为20的一维数组,所以说能够存储10个字符串。
因为第二维的长度为20,所以说能够存储的最大的长度为19个字符,因为以数组的形式存储字符串需要在数组的末尾加上一个标识字符串结束的‘\0’,所以说能够存储的字符数为20-1=19。
扩展资料:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
字符串的常用操作:
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。
例:concat(‘11’,'aa’)='11aa’。
2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’。
3、删除子串。过程 Delete(s,I,l)从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;,delete(s,2,3);结果s:=’ae’。
4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’。
参考资料来源:百度百科-字符串
一个二维数组a[10][20]能够存储每个字符串的长度至多为20的10个字符串。
对于行序为主,A[i][j]地址计算方法为:从0开始,A[i][j]表示第0行,第1行,....,一直到第i-1行都存储满了,占有的存储单元为i*n*k,而第i行只有j+1(从0开始)个元素,占有的存储单元为(j+1)*k;
因此总共占有的存储单元为i*n*k+(j+1)*k=(i*n+j)*k+k,注意到第一个元素的存储地址是LOC(A[0][0]),从A[0][0]算起,因此要减去多算的第一个元素的一个存储单元,总共占有的存储单元为(i*n+j)*k
A[i][j]的地址为:LOC(A[0][0])+(i*n+j)*k
扩展资料:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串
。