社区
C++ 语言
帖子详情
求二维数组的row和col
zdwrabbit
2006-06-20 05:44:15
char* words[]={"Hello\0","worldaa.\0","tsetetat.\0","\0"};
char** p=&words[0];
求p的rows和cols
如果不带'\0'怎么求?
...全文
394
11
打赏
收藏
求二维数组的row和col
char* words[]={"Hello\0","worldaa.\0","tsetetat.\0","\0"}; char** p=&words[0]; 求p的rows和cols 如果不带'\0'怎么求?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zdwrabbit
2006-06-21
打赏
举报
回复
不是说直接输入row值吗。都没有方法那就直接输入咯。
y_pro
2006-06-21
打赏
举报
回复
虽然结掉了,还是要说......楼主这样只能是针对特定的输入,要在"\0"后面还有成员呢?
zdwrabbit
2006-06-21
打赏
举报
回复
没,加上“\0”,可以用p求出row,不加"\0"可能要直接输入irow的值了。不知道有没有什么别的方法
我知道怎么做了,刚刚傻了。多谢各位
int iRow = 0;
int iCol = 0;
while ((*p) != "\0")
{
iRow++;
char *tmp = *p;
iCol > strlen(tmp)? iCol: (iCol = strlen(tmp));
p++;
}
y_pro
2006-06-21
打赏
举报
回复
用p会失败的关键在于,你不知道什么时候该结束。所以,要么在第1个就结束,要么就一直到访问越界。
如果一定要使用p,就需要约定结束标记,比如连续的N个\0。
zzzace
2006-06-21
打赏
举报
回复
y_pro(魔魂) ( http://community.csdn.net/expert/images/rank/user1.gif) 信誉:100 2006-06-21 09:27:00 得分: 0
int rows = sizeof(words)/sizeof(char*);
int cols = 0;
for (int i = 0; i<rows; i++ )
cols = ( strlen(words[i])>col?strlen(words[i]):cols );
y_pro
2006-06-21
打赏
举报
回复
用p求无法得到有意义的结果。
如果用p去求
结果1:rows = 1;cols = strlen(Hello);
结果2: 访问越界。
zdwrabbit
2006-06-21
打赏
举报
回复
用p求?不是words
y_pro
2006-06-21
打赏
举报
回复
int rows = sizeof(words)/sizeof(char*);
int cols = 0;
for (int i = 0; i<rows; i++ )
cols = ( strlen(words[i])>col?strlen(words[i]):cols );
zdwrabbit
2006-06-21
打赏
举报
回复
希望能给出解法啦,求row和最大的col。
fireseed
2006-06-20
打赏
举报
回复
不带\0也没问题,编译器会给你加上一个,你带了\0,实现上字符串最后就有两个\0了
sharpdew
2006-06-20
打赏
举报
回复
有结束符就直接枚举结束符号作为行数,最长字符串个数作为列数
不带结束符没办法求,不过既然你用常字符串初始化字符串数组,就会自动在字符串后面加结束符号。
青少年C++编程NOIP/CSP竞赛通关语法-
二维数组
1、本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课;2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;3、本课程是基于小学生的认知发展水平开发的,运用孩子生活中常见的例子来阐述编程知识,让孩子听得懂学得会;4、学完本课程后,孩子可以自主编程,解决竞赛中,生活实际问题,5、拓展孩子计算思维,应对人工智能时代的挑战。6、本课程介绍的是
二维数组
。也是历来竞赛重要考点。
二维数组
大小的确定!你真的是
二维数组
吗?
昨天做了一道剑指Offer的题目,是关于dfs的题目,链接点这里 但是其中对于flag[][],
二维数组
的创建,起了疑惑。在上面链接里也放了关于用new建立
二维数组
的例子。 但是自己突然想测试一下,用new创建的
二维数组
是真的
二维数组
吗? 首先我们真的 C++可以直接定义
二维数组
只要
row
和
col
都知道,就可以确定
二维数组
大小。 int num[10][10]; 明确了
row
和
col
,就不太容易越界了。同时我们也可以通过sizeof来确定行和列的大小(关于如何用sizeof确定行和列,大家看这
一维数组与
二维数组
下标的转换
设一维数组下标为index,
二维数组
长度为m * n,则: 一维数组转换为
二维数组
row
= index / n
col
= index % n
二维数组
转换为一维数组 index =
col
+
row
* n
C/C++
二维数组
总结
1、关于定义
二维数组
先说在前面,一般的我们说的C/C++中的
二维数组
是定义在栈中的
二维数组
。比如定义了一个array[3][4],那就指的是定义了一个三行四列的矩阵形状的
二维数组
,如下图所示。这样的矩阵在内存中是以箭头右边的方式存放的,也就是说实际上我们定义的
二维数组
在内存中仍然像是一维数组那样连续存储的。可以想象为把一个矩阵一层层伸展铺平。 因此可以使用如下方法定义
二维数组
: 方法一...
二维数组
和动态
二维数组
两种
二维数组
的区别 C语言中,创建
二维数组
的方法有两种,一种是直接申请一片连续的空间,然后
二维数组
的数据依次存放在数组中。动态
二维数组
顾名思义,可以动态的扩展空间,用户可以自己输入行和列来进行
二维数组
的创建。下面分别介绍两种数组的区别。
二维数组
二维数组
是行优先存放的,是在内存中连续存放,创建的代码如下所示,是一个三行四列的
二维数组
。 int ar[3][4] = { 12,23,34,45, 56,67,78,89, 90,100,110,120 }; 动态
二维数组
动态二维数
C++ 语言
64,633
社区成员
250,963
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章