c - 数组 [1 -'a' ] 在 C 编程中如何工作?

标签 c

<分区>

我正在开发一个程序来查找 c 中两个字符串的变位词。但我最终发表了声明

array[1-'a']++;  

而且我不太清楚该声明的工作原理。 那里的任何人都可以帮助我..!

最佳答案

'a' 的 ASCII 值为 971 - 97-96array[-96] 等同于 *(array - 96)。如果 array - 96 是有效地址,则 array[1-'a']++; 将给出地址 array - 96 处的值递增 1,否则取消引用它将调用未定义的行为。

关于c - 数组 [1 -'a' ] 在 C 编程中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38815239/

相关文章:

c - 编译 C 文件时未找到架构 x86_64 的符号

C 条件技巧

c - 我已经包含了一个头文件,但在尝试运行 make 时仍然未定义

c - 如何在 C 中读取格式为 "123 35 123 0 0 0 817"的数据

CreateFile 打开 lsass.exe 失败

c++ - C 与 C++ 中的 typedef 和结构命名空间

c - 在c中使用指针打印Char数组

c++ - 测量算法的每字节周期

c - 读取空文件,输出为符号

c++ - 双重免费或损坏 : C++