1、如输入:Z2009-AShanghaiZ
则输出:lenth = 8;
事例说明:从A到Z的子串为SHanghai,其长度是8.
int stat(char arr[])
{
int i = 0, j = 0,z;
while (arr[i] != 'A')
i=i+1;
j=i;
while (arr[j] != 'Z')
j=j+1;
z = j -i -1;
return z;
}
int main ()
{
char arr[30];
printf("请输入字符串: \n");
gets(arr);
printf("lenth = %d",stat(arr));
return 0;
}
2、下面是某语言的计算字符串Hash值的算法如下,如果字符‘a’、‘b’对应的ascII的值对应十进制是97、98,
请回答控制台打印出的数值是多少_
typedef unsigned long uintptr_t;
uintptr_t NXStrHash (const void *data)
{
uintptr_t hash = 0;
unsigned char *s = (unsigned char *)data;
if (s)for (; ; )
{
if (*s == '\0')break;
hash ^= (uintptr_t)*s++;
printf("1---%ld.\n", hash);
if (*s == '\0')break;
hash ^= (uintptr_t)*s++<<8;
printf("2---%ld.\n", hash);
if (*s == '\0')break;
hash ^= (uintptr_t)*s++<<16;
printf("3---%ld.\n", hash);
if (*s == '\0')break;
hash ^= (uintptr_t)*s++<<24;
printf("4---