*arr[i]++=*ar++; 为什么单步调试到这一条语句 就提示:“程序访问了非法地址”。
*arr[i]++=*ar++; 为什么单步调试到这一条语句 就提示:“程序访问了非法地址”。
#include<stdio.h>
#include<stdlib.h>
#define MAX 12
int main()
{
char *arr[MAX],*ar;
int i=0,j=0;
ar="AAA BBB CCC DDD EEE FFF GGG HHH III JJJ KKK LLL";
while(*ar!='\0')
{
while(*ar!=' '&&*ar!='\0')
*arr[i]++=*ar++;
*arr[i]='\0';
++ar;
i++;
}
for(j=0;j<i;j++)
{
arr[j]-=3;
puts(arr[j]);
}
return 0;
}
希望的显示结果是:
AAA
BBB
CCC
DDD
EEE
FFF
GGG
HHH
III
JJJ
KKK
LLL