#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[999];
printf("PLEASE ENTER A STRING\n");
gets(str);//呼叫第二個標頭檔案
int t=0,i=0,j=0,k=0;
int a[999];
char *p=str;
for(;*p!='\0';p++)
{
if(*p>='0'&&*p<='9')
{
t=t*10+(*p-'0');//將多個數串成字串
k=1;//識別符號,是1就寫入陣列
}
else//碰到下個不是數位,就把之前的數位存入陣列
{
if(k==1)
{
a[j++]=t;
t=0;}
k=0;
}
}
if(k==1)
{a[j++]=t;}
a[j]='\0';
int *q=a;
printf("THERE ARE %d NUMBERS \n",j);
for(;*(q+i)!='\0';i++)
{
printf("%d ",*(q+i));
}
return 0;
}
編寫過程參考過zyckhuntoria以及其他使用者的回答,進行了簡化和修改
附上前者鏈接https://blog.csdn.net/zyckhuntoria/article/details/79594482