Pointers in C. Why the function isn′t working?
Possible Duplicate:
Why does strcmp() return 0 when its inputs are equal?
strcmp results in false when strings are equal
我真的不明白为什么函数检查返回真的!!!!我使用strcmp比较char[]指针(hello)和chars"bar"的数组。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
interestingly在原基本的C代码有没有"真"或"假"(或"布尔")和收购,包括一些额外的header files(状stdbool.h)…………………但我digress………………… </P >
这不是真正的回归。读手册
手册将告诉你的返回值的函数是: </P >
... an integer less than, equal to, or greater than zero if s1 (or the first n bytes thereof) is found, respectively, to be less than, to match, or be greater than s2.
保持在心中那全是整数的值是不会被视为是"真实"的方法,有条件的检查。所以这是"说在这个代码: </P >
1 |
任何字的这是不是"酒吧"将是"真实的"。什么是你想要的,一个是火柴,如果它是相等的到零: </P >
1 |
债券的说明,如果你是要去declare就在全球范围的像你做的… </P >
1 | char pointer[] ="hello"; |
这不是需要的通它的函数,你可以访问它的全球,这是一个全球的熔点。是全局变量,但是,在generally frowned河畔。 </P >
如果
你的条件应该是:negated </P >
1 2 |
对或相对于
1 2 |