<分区>
我正在开发一个程序来查找 c 中两个字符串的变位词。但我最终发表了声明
array[1-'a']++;
而且我不太清楚该声明的工作原理。 那里的任何人都可以帮助我..!
标签 c
<分区>
我正在开发一个程序来查找 c 中两个字符串的变位词。但我最终发表了声明
array[1-'a']++;
而且我不太清楚该声明的工作原理。 那里的任何人都可以帮助我..!
最佳答案
'a'
的 ASCII 值为 97
。 1 - 97
是 -96
。 array[-96]
等同于 *(array - 96)
。如果 array - 96
是有效地址,则 array[1-'a']++;
将给出地址 array - 96
处的值递增 1,否则取消引用它将调用未定义的行为。
关于c - 数组 [1 -'a' ] 在 C 编程中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38815239/