'' конец строки в С

Жалоба
Вопрос

С K&R взял простую хеш функцию..:
hash(s)
 char *s;
 {
  int hashval = 0;
  for (hashval=0; *s !=''; *s++)
    hashval+=*s++;
  return(HASHSIZE % hashval);
}

ввод осуществляю...:

 printf("введите имя :");
   scanf("%s",&name);
print....
...компиляция происходит успешно .. но отладчик ругается на  for (hashval=0; *s !=''; *s++)..
..
введите имя :lexa

введите Имя2:lena

Program received signal SIGSEGV, Segmentation fault.
0x08048541 in hash (s=0x61786500 <Address 0x61786500 out of bounds>) at first.c:18

Разве '' конец строки не автоматически определяется
Дополнение #1 03.06.2011 3:46:20
ps : представил тут только ключевые моменты ...по сути мы передаем name  в hash() как hash(np->name);

Дополнение #2 03.06.2011 4:16:39
вот  c K&R...вроде понятно :
   
 hash(s)   /* form hash value for string */
 char *s;
 {
  int hashval;
  for (hashval = 0; *s != ''; )
      hashval += *s++;
  return(hashval % HASHSIZE);
 }

В процессе 1
программирование 3 года назад 2 Ответов 106 Просмотров 0

Ответов ( 0 )

    Ваш ответ будет первым!

Ваш ответ