两个字符串相减后~~~
有如下代码:
- C/C++ code
#include <stdio.h>int main(){ char *s1 = "hello"; cahr *s2 = "world"; printf("%d\n", s1-s2); return 0;}输出:-7
为什么s1和s2进行-运算后就成整型了???
另有代码
- C/C++ code
#include <stdio.h>int main(){ char *s1 = "hello world"; int t = int(strchr(s1, ' ') - s1); printf("%d\n", t); return 0;}输出: 5
这个-是如何进行运算的呀??
[解决办法]
指针相减,当然是一个整数
[解决办法]
还有,对于不是指向同一个数组的两个指针相减,行为是未定义的.也就是说结果是没有意义的.
[解决办法]