字符串操作,输入字符串,提取其中的数字并相加,在屏幕上显示结果,比如输入dfd56hj5hjkk9kk7,应该在屏幕上显示:56+5+9+7=77. 但是我跑出来是83,求大佬们调调,哪里出错了
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int l,sum=0;
l=s.size();
for(int i=0;i<l;i++){
if(isdigit(s[i])&¬ isdigit(s[i+1])) //加一位数
sum=sum+(s[i]-'0');
if(isdigit(s[i])&&isdigit(s[i+1])) //加两位数
sum=sum+(s[i]-'0')*10+(s[i+1]-'0');
}
cout<<sum<<endl;
return 0;
}