*(P++)+1 和

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 14:00:23
*(P++)+1和*(P++)+1和*(P++)+1和拿你这个程序来说:#includemain(){char*a[2]={"one","two"},**p=a;printf("%s",*(p++)+

*(P++)+1 和
*(P++)+1 和

*(P++)+1 和
拿你这个程序来说:
#include
main()
{
char *a[2]={"one","two"},**p=a;
printf("%s",*(p++)+1);
printf("%c",**p-1);
}
*p指向a[1]也就是one
*p+1指向a[2]也就是two
*(P++)+1中P++表示自加1,但是由于++在后面,所以计算这个表达式的时候p的值还是拿原来的,这句执行完后p的值才+1,所以这时候相当于*p+1,也就是ne
**p-1里面由于p的的值已经+1了,所以这时候*p表示a[2],相当于*a[2]-1,也就是a[2]数组里的第一个字母减一,t减去1是字母s

*(p++)+1指:指针往后移一位
**p-1表示:p的值减1