strlen
用法:#include <string.h>
功能:计算字符串s的(unsigned int型)长度
说明:返回s的长度,不包括结束符NULL。
注意点遇到\0终止,例如:
int a[1000]={0,1};
printf("%d",strlen(a[0]));
输出为0,因为是\0
unsigned
直接举例:
#include <stdio.h>
int main()
{
unsigned int a=3;
unsigned int b;
b = a*(-1);
printf("%u", a );
return 0;
}
b的值不为-3而为4294967287。为什么呢?其实很简单,例如b=-1在计算机中的数据位是1111111 11111111 11111111 11111111,注意是数据位,是要去掉符号位的,所以是31位,a是无符号类型的整数,将b赋给a,自然a就是1111111 11111111 11111111 11111111,也是31位第一位补0,转换成十进制就是4294967287,它也是unsigned int范围的最大上限(0~4294967288-1),-1是最大的负整数转换成正整数当然也是最大了,这个应该很好理解了。