我把*arr[i]++ = *ar++改成 *(*arr)++=*ar++; 定义由*arr[12]改成**arr,这样的话还需要申请空间吗,如果不申请char **arr里面可以存放的内容是多大容量。修正代码如下。
#include<stdio.h>
#include<stdlib.h>
void main(void)
{
char **arr,*ar,**mami;
int i=0,j=0,k=0,g=0,z=0;
ar="AAA BBB CCC DDD EEE FFF GGG HHH III JJJ KKK LLL MMM NNN OOO PPP QQQ RRR";
while(*ar!='\0')
{
while(*ar!=' '&&*ar!='\0')
{
*(*arr)++=*ar++;
k++;
}
**arr='\0';
*arr-=k;
puts(*arr);
k=0;
if(*ar=='\0')
break;
g++;
++arr;
++ar;
}
}