怎么比较数组长度比较的长度?

查看: 4459|回复: 15
怎样计算数组长度?
主题帖子精华
中级会员, 积分 324, 距离下一级还需 176 积分
在线时间148 小时
u8 ARR[]="12345";
u8 ff(u8*tmp)
& i=sizeof(tmp); &------1
我的目的是使用此函数返回数组tmp长度,我知道函数是不对的,1句表示指针的长度,请问怎样修改语句1?
用strlen即可。
主题帖子精华
金钱129729
在线时间1169 小时
用strlen即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
主题帖子精华
在线时间206 小时
不能的。不能的。
主题帖子精华
新手入门, 积分 36, 距离下一级还需 -16 积分
在线时间0 小时
楼主的头像我看了好久
主题帖子精华
在线时间206 小时
回复【3楼】断斜阳:
---------------------------------
我也是,不但好久,还好多遍。之前就看过,不知道是不是楼主。
主题帖子精华
中级会员, 积分 324, 距离下一级还需 176 积分
在线时间148 小时
回复【3楼】断斜阳:
---------------------------------
大哥每天好兴致啊
主题帖子精华
中级会员, 积分 323, 距离下一级还需 177 积分
在线时间86 小时
字符串,判断到\0
- -个性的签名
主题帖子精华
中级会员, 积分 324, 距离下一级还需 176 积分
在线时间148 小时
回复【4楼】jiutianshenjian:
---------------------------------
把你脑补的剧情讲讲
主题帖子精华
中级会员, 积分 324, 距离下一级还需 176 积分
在线时间148 小时
回复【6楼】Ray______:
---------------------------------
如果是数组呢?u8&arr[]={1,2,3,4,5};
我看谭浩强讲的C里,数组在内存里不会以\0结尾,怎么办?PS:我感觉一个个查数组元素个数太麻烦了,但是现在我不得不这么干
主题帖子精华
中级会员, 积分 323, 距离下一级还需 177 积分
在线时间86 小时
回复【8楼】Di诺:
---------------------------------
数组不是要事先开辟好空间的咩
- -个性的签名
主题帖子精华
在线时间0 小时
不能,请用高级语言。
于停用该账号:http://www.microstar.club
主题帖子精华
在线时间206 小时
求数组元素个数n一般都用:
n&=&sizeof(数组名)&/&sizeof(任意一个元素)
例如:sizeof(ARR)&/&sizeof(ARR[0])
主题帖子精华
初级会员, 积分 90, 距离下一级还需 110 积分
在线时间1 小时
你好,你最后如何处理这个问题的?
主题帖子精华
中级会员, 积分 324, 距离下一级还需 176 积分
在线时间148 小时
回复【13楼】hxing:
---------------------------------
老老实实用strlen
主题帖子精华
新手入门, 积分 22, 距离下一级还需 -2 积分
在线时间0 小时
回复【2楼】jiutianshenjian:
---------------------------------
#define&ARRSize&(countof(ARR)-1)
主题帖子精华
新手入门, 积分 22, 距离下一级还需 -2 积分
在线时间0 小时
#define&countof(a)&&&(sizeof(a)&/&sizeof(*(a)))
"原子哥”推荐 /1
资料包括正点原子开发板全套视频,源码,手册等。原子粉丝请关注公众号。
Powered by数组怎么比较大小的_百度知道
数组怎么比较大小的
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
如何快速比较两个数组大小例如:int[] a=new int[]{123,445,567};
int[] b=new int[]{123,556,677};比较:
返回 -1,0,1数组第一个数大,数组大如果第一个相等,比较第二个,第二个大,数组大如果第二个相等,比较第三个,第三个大,数组大。。。。。。要求:最快速度,最简洁代码,最小耗内存
采纳率:97%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。10:34 提问
JAVA如何比较出两个长度不同的字符数组的大小
int count = 0;
for (int i = 0; i&s3.i++) {
for (int j = 0;j&s2.j++) {
if (s3[i] != s2[j]) {
System.out.println("第" + count + "个位置的值不同,值为" + s3[i]);
贴出我的代码求大神解决一下,一点小麻烦 简单来说就是s2,s3两个数组,s3长一点s2小一点然后我想比较两个数组不同的地方并打印出来,我的代码运行之后每个结果打印出了四遍结果有1024个位置不同,但其实我的s2只有256个数组元素,我知道代码逻辑上有问题,但是像正确的输出又不太会改(总是有数组越界的问题),求大神帮忙解决一下啊~~~谢谢了!!!
按赞数排序
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
如果比较字符串的大小使用:str1.compareTo(String str2)
假设 k 是这类索引的最小值;则在位置 k 上具有较小值的那个字符串(使用 & 运算符确定), 返回这两个字符串在位置 k 处两个char 值的差
this.charAt(k)-anotherString.charAt(k)
没有字符不同的索引位置, 返回这两个字符串长度的差
this.length()-anotherString.length()
不知道你是不是想要这种比较效果:
public static void main(String[] args) {
String []s2={"a","b","x","q","y"};
String []s3={"a","r","x","s","y","s","w"};
int count = 0;
//用较短的数组的长度作为循环条件,按位比较
for (int i = 0; i&s2.i++) {
//数组下标从0开始,所以用i+1表示第几个
count=i+1;
if (!s3[i].equals(s2[i]) ) {
System.out.println("数组第" + count + "位的值不同,s2值为" + s2[i]+" s3值为 "+ s3[i]);
输出:数组第2位的值不同,s2值为b s3值为 r
数组第4位的值不同,s2值为q s3值为 s
字符串都是可以读取的,换成数组或者列表来处理
思路不对。你这种写法,是S3[i]去和S2中的所有元素去对比。
Arrays.binarySearch()来查找。
//S3有,S2没有的
Map map1=new HashMap();
for (int i = 0; i&s3.i++) {
int index=
Arrays.binarySearch(s2,s3[i]){
if(index==-1){
map1.put(s3[i],i);
//s2有,S3没有的
Map map2=new HashMap();
for (int j = 0;j&s2.j++) {
int index=
Arrays.binarySearch(s3,s2[j]){
if(index==-1){
map1.put(s2[j],j);
public static void main(String[] args) {
String[] s2 = { "a", "b", "x", "q", "y" };
String[] s3 = { "a", "r", "x", "s", "y", "s", "w" };
int count = 0;
method1(s2, s3, count);
method2(s2, s3, count);
* 方法2 拿s2去和s3对比
private static void method1(String[] s2, String[] s3, int count) {
// 用较短的数组的长度作为循环条件,按位比较
for (int i = 0; i & s2. i++) {
// 数组下标从0开始,所以用i+1表示第几个
count = i + 1;
if (!s3[i].equals(s2[i])) {
System.out.println("数组第" + count + "位的值不同,s2值为" + s2[i]
+ " s3值为 " + s3[i]);
System.out.println("S3剩余部分为:");
for (int j = s2. j & s3. j++) {
System.out.print(s3[j] + "\t");
* 方法2 拿s3去和s2对比
private static void method2(String[] s2, String[] s3, int count) {
System.out.println("\n");
for (int i = 0; i & s3. i++) {
// 数组下标从0开始,所以用i+1表示第几个
count = i + 1;
//i还没超过s2时做对比
if (i & s2.length && !s3[i].equals(s2[i])) {
System.out.println("数组第" + count + "位的值不同,s2值为" + s2[i]
+ " s3值为 " + s3[i]);
} else if (i &= s2.length) {//i超过了s2的长度 直接输出
System.out.print(s3[i] + "\t");
数组第2位的值不同,s2值为b s3值为 r
数组第4位的值不同,s2值为q s3值为 s
S3剩余部分为:
数组第2位的值不同,s2值为b s3值为 r
数组第4位的值不同,s2值为q s3值为 s
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐清除回答草稿
&&&您需要以后才能回答,未注册用户请先。一、一个常见的方法
在定义了一个数组
int&a[]&=&{&1,&34,&11,&23,&34,&111,&107&};
之后,我们经常看到类似于
#define&ARRAY_SIZE(a)&(sizeof(a)/sizeof(a[0]))
的代码,它的作用便是获取数组大小。这种方法的优点是适用面广(不依赖任何第三方库),但是这个方法有个缺点,如果你不小心把一个指针传进去了,它不会报错。
二、Windows SDK的方法
Windows SDK提供了一个叫ARRAYSIZE的宏,它能获取数组大小,而且只接受数组,不接受其它类型。不过它适用面不广。
三、推荐的方法
我推荐一个方法,博采二者之长处。
template&typename&T,&size_t&N&
char(&ArraySizeHelper(const&T(&array)[N]))[N];
#define&ARRAY_SIZE(array)&(sizeof(ArraySizeHelper(array)))
由于C++标准规定sizeof(char)为1,故它在各个平台上结果一致。由于它实际上是一个“sizeof”,所以它可以在编译时获取到数组的大小。它不依赖任何第三方的东西,而且ArraySizeHelper的参数表决定了它只能接受数组,不能接受指针或其它类型。
template&typename&T,&size_t&N&
char(&ArraySizeHelper(const&T(&array)[N]))[N];
#define&ARRAY_SIZE(array)&(sizeof(ArraySizeHelper(array)))
#include&&iostream&
int&wmain()
&&&&int&a[15]&=&{&1,&2,&5,&6,&11&};
&&&&double&b[ARRAY_SIZE(a)]&=&{};&//&编译成功
&&&&std::cout&&&&ARRAY_SIZE(b)&&&&std::&//&15
&&&&return&0;
& 著作权归作者所有
人打赏支持
码字总数 41520
·······
工作从未大量使用模版 欠缺
算是使用预处理器计算吗 还是纯粹模版提供的呢
评论删除后,数据将无法恢复
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你看世界
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你看世界
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你学知识
typedef struct{ int semId; char str[MAX_STRING]; }MYBLOCKT; int main(){ MYBLOCKT //编译时这里报错 ?? char str2[MAX_STRING]; //这里没有错 !! return 0;} 编译......
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你看世界
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你看世界
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你看世界
C#调用C的DLL //C++中的DLL函数原型为 //extern "C" declspec(dllexport) bool 方法名一(const char 变量名1, unsigned char 变量名2) //extern "C" declspec(dllexport) bool 方法名二(cons......
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...
小辰带你看世界
C++ Primer 学习笔记(第三章:字符串、向量和数组) [TOC] 3.1 命名空间的声明 声明语句可以一行放多条。 位于头文件的代码,一般来说不应该使用声明。因为其内容会拷贝到每个使用该头文件的...
没有更多内容
加载失败,请刷新页面
新建logback.xml放到resource里面 &?xml version="1.0" encoding="utf-8"?&&configuration&
&appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"&
这两个 注解 @Resource 和 @Autowired , 常识都知道 @Resource 是 JAVAEE 自带的,@Autowired 是 spring 的自定义注解。 一般情况下, 使用 bean的时候, 这两个注解 随便使用一个即可。 但...
1、pom依赖 &dependency&
&groupId&com.alibaba&/groupId&
&artifactId&fastjson&/artifactId&
&version&1.2.7&/version&&/dependency&&dependency&
&groupId&log4j&/......
1背景说明 服务端ES版本为5.5.2,springboot版本为1.5.6。 工程中添加如下依赖 2问题记录 2.1 NetworkPlugin类找不到 报错java.lang.ClassNotFoundException: org.elasticsearch.plugins.Net...
前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_expor...
public class 父类A {int age = 10;protected void say() {System.out.println("父类A");}public 父类A() {override();}public void override() {Syst...
构造直线 z = 2 * x - 3 * y + 4 x0*w0+x1*w1+b=0 x1=-x0* w0/w1-b/w1 斜率 k= -w0/w1 截距 -b/w1 随机生成数据,加入一定的偏差,用直线将二维平面分为两部分 使用线性模型拟合参数 损失函数...
翻译一个冒泡排序: var a = [1,3,2,4,6,5];var f = 0;var n = a.for( var i =1; i&= i++) {
for( var j = n-1 ; j &= j --) {
if(a[j] & a[j+1]) { ......
命令: mvn versions:set -DnewVersion=0.0.2-SNAPSHOT
沉默的懒猫
Controller层 return patientRepository.findById(id)
.orElseThrow(() -& new NotFoundException(String.format("Patient %d not found", id))); Exception类 @ResponseS......
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定取消删除此文章吗?
亲,自荐的博客将通过私信方式通知管理员,优秀的博客文章审核通过后将在博客推荐列表中显示
确定推荐此文章吗?
确定推荐此博主吗?
聚合全网技术文章,根据你的阅读喜好进行个性推荐
指定官方社区
深圳市奥思网络科技有限公司版权所有

我要回帖

更多关于 数组长度怎么比较 的文章

 

随机推荐