字符串操作,输入字符串,提取其中的数字并相加,在屏幕上显示结果,比如输入dfd56hj5hjkk9kk7,应该在屏幕上显示:56+5+9+7=77. 但是我跑出来是12,求大佬们看看
#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')*10+(s[i+1]-'0');
i++;
if(isdigit(s[i])&¬ isdigit(s[i+1])) //加一位数
sum=sum+(s[i]-'0');
}
cout<<sum<<endl;
return 0;
}