这个为啥运行结果不对
你是不是用python用多了?
里面sum+=int(str[i]) 要改为 sum+= (str[i]-'0') 这样将数字字符转为相应数字,int(str[i])是将数字字符转为相应的ASCII码,然后sum要初始化为0,quzheng的返回值要改为int类型,修改如下,供参考:
#include <stdio.h>
#include <string.h>
int quzheng(char str[]);
int main(){
char str1[500],str2[500];
int i;
gets(str1);
gets(str2);
printf("%d\n",quzheng(str1));
printf("%d\n",quzheng(str2));
return 0;
}
int quzheng(char str[]){
int i,sum=0;
for(i=0;str[i]!='\0';i++){
if(str[i]>='0'&&str[i]<='9'){
sum+=(str[i]-'0');
}
}
return sum;
}