我收到以下程序" lvalue required as increment operand|"中两个printf()语句的错误。
#include<stdio.h>
int main(void)
{
 int list[4]={12,22,32,42};
 printf("The result of *list++ is %d",*list++);
 printf("\nThe result of *(list++) is %d",*(list++));
 return 0;
 }
但是在下面的程序中*myptr++,*(myptr++)对于myptr分配了list. Ideone 链接
#include<stdio.h>
int main(void)
{
 int list[4]={12,22,32,42},*myptr;
 myptr=list;
 printf("The result of *myptr++ is %d",*myptr++);
 myptr=list;
 printf("\nThe result of *(myptr++) is %d",*(myptr++));
 }
为什么两者之间存在差异?解释是什么?这个问题在我浏览了几分钟前发布的以下问题后出现在我的发现中。寻找H2CO3答案。