注册 登录
编程论坛 C++教室

哪位大神能帮俺解释一下这每一步都是什么意思啊????

Love小小白 发布于 2012-12-16 19:46, 413 次点击
#include<iostream.h>
int a[]={1,2,3,4,5,6,7,8,9};
void main()
{
    int *pa=a;
    cout<<*pa<<',';
    cout<<*(pa++)<<",";
    cout<<* ++pa<<',';
    cout<<* (pa--) <<",";
    pa+=4;
    cout<<*pa<<','<<*(pa+2)<<endl;
}
4 回复
#2
qwe1681922012-12-16 20:32
程序代码:

#include<iostream.h>
int a[]={1,2,3,4,5,6,7,8,9};             //定义一个全局数组,即a[8]
void main()
{
    int *pa=a;                           //将数组地址赋给pa
    cout<<*pa<<',';                      //指针指向数组第一个位置,则输出a[0]
    cout<<*(pa++)<<",";                  //先输出pa=a[0]后;pa再向后移动1位即a[1]
    cout<<* ++pa<<',';                   //先pa指针向后移动1位,即a[2];再输出pa
    cout<<* (pa--) <<",";                //先输出pa=a[2],往回移动1位,即pa=a[1]
    pa+=4;                                //pa的指针位置从a[1]处向后移动4位,即a[5]
    cout<<*pa<<','<<*(pa+2)<<endl;        //输出a[5],再输出逗号,再移动两位即a[7]
}
#3
DYONGJ2012-12-16 20:53
同楼上
#4
Love小小白2012-12-16 20:58
回复 2楼 qwe168192
呜呜 ~~~终于弄明白了,其实可以吧  *++pa  看成  a[]=++pa  的是吧?
谢谢啦~~~~~~
#5
深藏依旧2012-12-16 22:11
学习
1