Если вы знаете, что все символы foo
являются цифрами, вы можете использовать (int) (foo[i] - '0')
, который вычитает значение ascii '0'
из символа. Это работает для всех цифр, потому что их значения ASCII являются последовательными.
Ваша первая попытка не удалась, потому что foo[i]
- это один char
, а atoi()
принимает строку. Ваша вторая попытка не удалась, потому что &foo[i]
является ссылкой на этот символ.