新手。为什么后面减 ‘0’ 就对,不减就错(第[09]行)
这是题目:输入一个包含数字字符的字符串,提取出这些数字字符,构成一个整数,然后将这个整数输出在屏幕上(注意:限定必须提取出来后,转换成整数,再以%d的形式输出该整数)。
注:测试数据保证每个串中只会出现一次整数,不会出现 abc35xy47这样有两段数字的输入。
例如:输入:abc350pt
输出:350
我的代码:
[01] #include <stdio.h>
[02] int main(void) {
[03] char s[100];
[04] gets(s);
[05] int i=0;
[06] int num=0;
[07] while(s[i]!='\0'){
[08] if(s[i]>='0'&&s[i]<='9')
[09] num=num*10+s[i]-'0';
[10] i++;
}
printf("%d\n",num);
return 0;
}