gpt4 book ai didi

c - 在 C 中使用带指针的模运算符

转载 作者:行者123 更新时间:2023-12-04 09:22:19 25 4
gpt4 key购买 nike

如果我有一个 char 指针,比如 char *ptr,它保存单个 ascii 字符的地址,并且想在该地址上使用模运算符,我该怎么做?每当我尝试使用 int modulo = ptr % 16 之类的基本操作来执行此操作时,我都会收到错误“二进制操作数无效”我对二进制算术的掌握很弱,所以我知道我需要继续发展这项技能,但如果有人能告诉我我在这里缺少什么概念,那将是一个很大的帮助,谢谢。

编辑:抱歉,我不太清楚我要完成的工作,但基本上我只需要显示一个有 16 个插槽的内存块。它是一个程序,在数组中找到一个 ascii 字符,我已经完成了,然后显示该 ascii 字符存储在其中的内存块。当我现在运行它时,它会显示找到的 ascii 字符和找到的字符之后的 15 个字符及其内存位置。而不是这样做,如果找到的 ascii 字符位于内存块的中间,我需要它来显示它周围存储的内容,而不仅仅是它之后的内容。因此,如果找到的字符在数组的 23 槽中,程序将显示字符和内存位置在数组的 16-31 槽中。

最佳答案

您需要临时转换为适当宽的整数,例如

#include <stdint.h>

ptr = (char*)((uintptr_t)ptr % 16);

结果指针是否有实际用途是另一回事。

关于c - 在 C 中使用带指针的模运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com