1 #include<stdio.h>
2 #include<string.h>
3
4 int main(void)
5 {
6 char p[] = "I'm shia";
7 printf("%p\n",p);
8 printf("%d\n",memrchr(p+3,'s',strlen(p)));
9 printf("%p\n",memchr(p,'i',strlen(p)));
10 return 0;
11 }
出力:
0x7fff0eeae950
0xeeae954 /*garbage value?*/
0x7fff0eeae956
memrchr
値が array の境界を超えて返されるのはなぜですかp
、memchr
うまくいきました。
そのような行動が意図的なものである場合、なぜですか?