如何用C语言实现动态的字符串数组

2025-04-28 14:30:09
推荐回答(1个)
回答1:

分成取数字与取非数字2个函数较简单。get_v()取数字, get_o()取非数字。
#include
char *get_v(char *a, char *b){
int i=0;
while( a[i]>='0' && a[i]<='9') {b[i]=a[i];i++;};
b[i]='\0';
strcpy(a,a+i);
return b;
}
char *get_o(char *a, char *b){
int i=0;
while( a[i]<'0' || a[i]>'9') {b[i]=a[i];i++;};
b[i]='\0';
strcpy(a,a+i);
return b;
}
int main()
{
char s[]="1234+4*5";
char b[10];
while(strlen(s)>=1){
get_v(s, b);
printf("%s\n",b);
if (strlen(s)<=0)break;
get_o(s, b);
printf("%s\n",b);
};

return 0;
}