不清楚哪里出错了
以下是代码部分:
#include<iostream>
using namespace std;
int chnum(char *str)
{
int i = 0,len,sum=0,k=0;
len = strlen(str);
while (str[i] != '\0')
{
sum = sum + pow(10, len - i - 1);
i++;
}
return sum;
}
int main()
{
char str;
cin >> str;
cout << chnum(&str);
return 0;
}
修改如下,供参考:
#include <iostream>
#include <cmath> //修改
using namespace std;
int chnum(char *str)
{
int i = 0,len,sum=0,k=0;
len = strlen(str);
while (str[i] != '\0')
{
sum = sum + (str[i]-'0')*(int)pow(10.0, len - i - 1);//修改
// sum = sum + pow(10, len - i - 1);
i++;
}
return sum;
}
int main()
{
char str[10];//修改
cin >> str;
cout << chnum(str);//修改 cout << chnum(&str);
return 0;
}