编译器报错error C2105: '++' needs l-value,见源程序
(p+len-1)=(p+len-1)+1为什么不能用*(p+len-1)++代替呢?
#include <stdio.h>
int main()
{
int a[10]={0};
int len;
int i;
int *p=a;
char *ptr2;
char s[500];
int sum =0;
char *ptr;
gets(s);
ptr=s;
while(*ptr!='\0')
{
while(*ptr<65 || (*ptr>90 && *ptr<97) || *ptr>122)
{
ptr ++;
}
ptr2 = ptr;
while((*ptr != ' ') && (*ptr !='\0'))
{
ptr ++;
}
sum++;
len=ptr-ptr2;
if(len<=10)
*(p+len-1)=*(p+len-1)+1; //使用*(p+len-1)++,编译器报错
}
printf("%d ",sum);
for(i=0;i<10;i++,p++)
printf("%d ",*p);
}