• 2005-09-13

    c风格的字符串比较 - [C&C++]

     字符串比较应该注意的事项: 

    1. char name[ 30 ]={'w','a','t','e','r','\0'};

       name=="water";

       这个句子是错误的,c里面数组和字符串常量都是地址(即首个字符的地址),所以上面比较的是两个的地址是否相同,虽然他们的内容相同,但是地址是不同的。所以所得结果会不是我们所料。

    2.c风格的 字符串的比较应该用strcmp() 来进行比较.

    3.c++风格的比较,由于string类已经重载了运算符,所以可以直接用运算符进行比较.

    4.c风格的字符串是通过空字符值定义的(即'\0'结尾),所以不由其所在的数组长度定义,因此不同长度的数组字符串也可能相同.

     

    分享到:

    历史上的今天: