C语言二维字符串数组的行数怎么求啊

如题所述

#include <stdio.h>
int main()
{
char str[][6] = {"abcd", "ABC", "abc"};


printf("str行内元素%d\n", sizeof(*str));//这个会显示出二维数组中每个行的元素个数 (这里是指可容纳的个数)
printf("str总%d\n", sizeof(str));//这个会显示出二维数组中元素的个数(这里是指可容纳的个数) 

//其实就是利用了sizeof函数来判断 我们都知道sizeof()用来判断一个类型所占用的字节数的
//所以:你问‘C语言二维字符串数组的行数怎么求啊?’ 你应该是说在定义数组时候没有显示的写出行数,可是此时需要求出行数是吧?
//那么    行数 = 可容纳元素总数(这里是指可容纳的个数) / 行中元素个数(这里是指可容纳的个数)

printf("行数=%d\n", sizeof(str)/sizeof(*str));


return 0;
}

就是考你对二维数组的理解了,别忘了 数组也是c的数据类型之一哦。

只要是数据类型就可以用sizeof判断 其类型占用的内存字节数。

正好c的字符就是占用一个字节啊,所以sizeof返回的字节数=字符个数。


^_^!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-13
你定义的这个已经指定了每行的长度的,可以用sizeof(数组名)/sizeof(数组名[0]);来求。

如果需要求二维数组的行数,一般的做法是在数组最后添加一个NULL元素,比如:
char *a[]={
"apple","boy","cat","dog",NULL
};
第2个回答  2020-12-24

C语言字符串的学习,输入指定字符串,并且计算字符串的位数

第3个回答  2017-02-13
3
相似回答