这段代码中-s的作用是什么,其中s是一个字符指针?
在这段代码中
strcpy(s, "bacalaureat");
i = strchr(s, 'a') - s; // i = 1
的值为i1。为什么会这样,-s上面的作用是什么?
回答
从参考:
char *strchr( const char *str, int ch );
ch在指向的以空字符结尾的字节字符串中查找 ... 的第一次出现str
Sostrchr(s, 'a')将返回一个指向该字符第一次出现的指针a,即s.
减去s从这个结果只是指针运算,让你的角色的指数a中s,这是1。