用c_in_str函数计算字符在字符串中出现的次数返回值为什么要加unsigned int啊?在什么情况会返回负数呢?

用c_in_str函数计算字符在字符串中出现的次数返回值为什么要加unsigned int啊?在什么情况会返回负数呢?

问题描述:

img

应该这么说如果是int 才可能返回负数。因为计算机用最高位表示符号,也就是说整形(32位),那么从0算31位是1的话,则这个数是负数,也就说你返回了一个大于0x80000000的数,如果按int算,就是负数,而按unsigned int ,则是0x80000000。

就是因为不会是负数,所以用unsigned int啊?