Различные результаты при использовании atoi

Может ли кто-нибудь объяснить, почему эти вызовы не возвращают тот же ожидаемый результат?

unsigned int GetDigit(const string& s, unsigned int pos)
{
      // Works as intended
      char c = s[pos];
      return atoi(&c);

      // doesn't give expected results
      return atoi(&s[pos]);
      return atoi(&static_cast<char>(s[pos]));
      return atoi(&char(s[pos]));
}

Замечание : Я не ищу лучший способ преобразовать char в int .

6
задан Prince John Wesley 24 October 2011 в 09:26
поделиться