吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1089|回复: 22
收起左侧

[求助] 怎么用int指针遍历char类型数组

[复制链接]
cooliolucas1514 发表于 2021-11-1 15:19
QQ截图20211101150705.png
题目要求是用指针操作数组然后找到0x64这个值并打印
单个字节遍历没问题,但是两个和四个我不会1,2  2,3这种连续相邻的遍历,我是新手也不知道这种遍历方法叫什么,求教。。。。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pdln 发表于 2021-11-1 17:36
#include<stdio.h>
int main(){
        int a[8]={1,5,6,9,8,3,55,522};
        int *p=a;
        while(*p!=8){
                p++;
        }
        printf("%d\n",*p);

}

参考一下,我这里找的是“8”
utibet田同学 发表于 2021-11-1 18:09
repobor 发表于 2021-11-1 19:53
 楼主| cooliolucas1514 发表于 2021-11-3 23:39
pdln 发表于 2021-11-1 17:36
#include
int main(){
        int a[8]={1,5,6,9,8,3,55,522};

我明白这种,但是我的数组是char型的,用int指针的话,一次就加四个了
 楼主| cooliolucas1514 发表于 2021-11-3 23:40
repobor 发表于 2021-11-1 19:53
连续的话
p+i,p+i+1
就好了

可是int*加i就是4×i呀,我想每次都只从char里面往下加一个然后遍历
pdln 发表于 2021-11-3 23:53
cooliolucas1514 发表于 2021-11-3 23:39
我明白这种,但是我的数组是char型的,用int指针的话,一次就加四个了

兄弟,16进制数,也是属于int,double这些的
pdln 发表于 2021-11-3 23:55
cooliolucas1514 发表于 2021-11-3 23:40
可是int*加i就是4×i呀,我想每次都只从char里面往下加一个然后遍历

你这个是一维数组,就是一列数字,不是什么矩阵啥的二维数组
 楼主| cooliolucas1514 发表于 2021-11-3 23:58

老哥,我查了一下感觉这个算法有点抽象,能不能根据这个题目写个代码给我借鉴一下
 楼主| cooliolucas1514 发表于 2021-11-4 11:21
pdln 发表于 2021-11-3 23:55
你这个是一维数组,就是一列数字,不是什么矩阵啥的二维数组

可是两个十六进制数才一个byte,然后我char数组里面正好每个元素是两个十六进制,就是我用int*四字节的指针指向char数组首地址,然后一个*p正好是char数组里面的四个元素,就相当于p是内存地址然后里面存了四个char的数据,我就是想在这个数组里面用int指针找四个char组合起来的值等于我要找的,但是不能逐个逐个的遍历,只能一次性加四个
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 22:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表