*++p和*p++的区别

*p++:先是用*p这个值,然后再使p的地址加1.

#include<iostream>
using namespace std;
int main()
{
    char s[81]="abcdefghijklmn";
    char *p;
    p=s;
    while(*p++)            //先判断*p是否为空,再将p的地址加1
        cout<<*p<<endl;
    return 0;
}

输出结果:bcdefghikllmn 空行

*++p:

#include<iostream>
using namespace std;
int main()
{
    char s[81]="abcdefghijklmn";
    char *p;
    p=s;
    while(*++p)            //先是将p的地址加1,然后在用*p

        cout<<*p<<endl;
    return 0;
}

输出结果:bcdefghijklmn(后面没有空行)。

原文地址:https://www.cnblogs.com/guangliang/p/4356426.html