用C语言编写一道程序,求输入字符串的长度,且不能用strlength函数
发布网友
发布时间:2022-06-25 09:56
我来回答
共1个回答
热心网友
时间:2024-06-21 00:05
/* 这个应该是32位机上最高效的比较方法, 一次性比较4个字符(32位), VS2008的库函数strlen使用的就是这种计算方法 */
int stringLen ( char *s )
{
int *p;
int read;
int test;
p = (int*)s;
read = 0;
while ( !(read & 0x81010100 ))
{
read = *p++;
test = 0x7efefeff + read;
read = read ^ -1 ^ test;
}
test = (char*)p - s;
if ( read & 0x100 ) return test - 4;
else if ( read & 0x10000 ) return test - 3;
else if ( read & 0x1000000 ) return test - 2;
return test - 1;
}