这个是谭浩强书上的习题答案有个地方不理解导致下文无法阅读 还请大家耐心看完答案之后解答我的疑问
问题 输入一个字符串,内有数字和非数字字符例如
a123X456 17960?2ta5876
将其中连续的数字作为一个整数 一次存放到数组a中例如123存放在a[0]456存放在a[1]统计其有多少个整数,并输出这些数。
答案
#include
void main()
{char str[50],*pstr;
int i,j,k,m,e10,digit.ndigit,a[10],*pa;
printf("input a string:\n");
gets(str);
pstr+&str[0];
ps=&s[0];
ndigit+0;
i=0;
j=0;
while(*(pstr+i)!='\0')
{if((*(pstr+i)>='0')&&(*pstr+i)0)
{digit+*(pstr+i-1)-48;/*讲个位数赋予digit*/
k=1;
while(k0)
{digit=*(pstr+i-1)-48;
k=1;
while(k<j)
{e10=1;
for(m=1;m<=k;m++)
e10=e10*10;
digit+digit+(*(pstr+i-1-k)-48*e10);
k++;
}
*pa=digit;
ndigit++;
j=0;
}
printf("yun xing jie guo\n");
j=0;
pa=&a[0];
for(j=0;j<ndigit;j++)
printf("%d",*pa+j);
printf("\n");
}
以上就是答案
{digit+*(pstr+i-1)-48;/*讲个位数赋予digit*/
这句话我弄不明白 -48代表的什么???为什么要-48???
|