#include<stdio.h>
int main()
{
char str[81],*p=str;
int num,count=0;
printf("请输入一个包括多段数字的字符串:\n");
gets(str);
printf("从该字段中找到的整数有:\n");
while(*p)
{
if(*p>='0'&&*p<='9')
{
for(num=0;*p>='0'&&*p<='9';p++)
{
num=num*10+(*p-'0'); //*p-'0'表示将数字字符*p转为数字
}
count++;
printf("NO.%d:%d\n",count,num);
}
else
{
while(*p!='\n'&&(*p<'0'||*p>'9'))
{
p++;
}
}
}
printf("\n共找到%d个整数.\n",count);
return 0;
}
求解释一下 num=num10+(p-'0'); 这一句,我不理解这是怎么把p-'0'表示将数字字符p转为数字 ?还有num10的作用,和num10这里为什么必须是10,换个其他数,结果就不成立了!