下面的代码从字符串中删除了第7个字符,但我无法弄清楚,但有人可以向我阐明数组和S1[6] -= S1[6];
之类的操作的一般逻辑。我搜索了数组算术,但它与地址算术和指针有关。感谢您的帮助。
#include <string.h>
int main()
{ char S1[]="Hello World";
S1[6] -= S1[6];
printf("%s",S1);
}
声明
S1[6] -= S1[6];
可以读为
S1[6] = S1[6] - S1[6];
因此,基本上,它减去数组实例本身的值,从而得出第七。元素为0。
但是,这不会更改数组中任何其他元素的值(不像您提到的“第7个字符及以后的字符..”),它只是将第7个元素的值设为0
,即终止string