输入字符串,内有数字和非数字字符,将其中连续数字作为正数存放在数组中。
请高手指教一下问题出在哪里。
#include <iostream>
using namespace std;
int main()
{void convert(char *,int *);
char a[50],*q;
int b[10] = {0},*p,i;
gets(q);
convert(q,p);
for(i = 0;i<10;i++)
{if(b[i] != 0)
cout << b[i] << " ";
}
cout << endl;
return 0;
}
void convert(char *p,int *q)
{int n = 0;
while(*p != '\0')
{ if(*p >='0'&&*p <= '9')
{ n = 10*n + *p - 48;
p++;
}
else if((*p < '0'||*p > '9'))
{if(n != 0)
{*q = n;
q++;
}
n = 0;
p++;
}
else p++;
}
}