*号和++属于同一优先级,且方向都是从右向左的,s++和(s++)作用相同。
例子如下:
char a[]="abdasf";
char *s=a;
printf("%d\n",s);//打印一地址值x
*s++;
printf("%d\n",s);//打印一地址值x+1
printf("%c\n",*s);//打印b
printf("%s\n",a);//打印abdasf
这里的++作用于s上,先把s++,导致s向后移动了一位,所以s打印值为b,且s++执行之后数组a的内容没有改变。
char a[]="abdasf";
char *s=a;
printf("%d\n",s);//打印一地址值x
(*s)++;
printf("%d\n",s);//打印一地址值x+1
printf("%c\n",*s);//打印b
printf("%s\n",a);//打印bbdasf
这里++作用于s上,所以s++执行之后数组a的值改变了。