Проблемы с с++...

компьютеры программирование с++

int main()
{
string s;
int g;
unsigned int k;
cin>>s;
k=0;
g=0;
cout<<s[k]-'0'<<endl;
do {
if ((s[k]-'0')>0&&(s[k]-'0')<10) {g=g*10+s[k];
cout<<s[k]<<" "<<g<<endl;
}
k++;
} while(k<(s.length()-1);
}
написал вот эту прогу для перевода из стрнга в интежер(как разверутый вариант atoi)
но почему-то выдает результат 540

Примечание:
malek,
то же самое, не в этом проблема.

Примечание:
malek,
на 123
Ответы:
((s[k]-'0')>0&&(s[k]-'0')<10)

((s[k]-'0')>=0&&(s[k]-'0')<10)
g=g*10+s[k]

g=g*10+s[k]-'0'
И на каком вводе она выдаёт 540?


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.