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

关于C++指针的一个小问题(错误在哪里???)

陈志文 发布于 2015-05-11 11:35, 466 次点击
#include <iostream>
int main()
{
    using namespace std;
    int *p=new int [5];
    int *pi=new int,*pj=new int;
    *pj=0;
    for(*pi=0;*pi<5;*pi++)
        cin>>*(p+*pj++);
    for(*pi=0;*pi<5;*pi++)
        cout<<*(p+(*pi))<<" ";
    delete [] p;
    return 0;
}
3 回复
#2
小狼烟2015-05-11 11:50
你这是要干嘛??
#3
yangfrancis2015-05-11 15:50
指针运算符*和自加运算符++的优先级问题,这样改就能通过了:
#include <iostream>
int main()
{
    using namespace std;
    int *p=new int [5];
    int *pi=new int,*pj=new int;
    *pj=0;
    for(*pi=0;*pi<5;(*pi)++)
    {cin>>*(p+*pj);(*pj)++;}
    for(*pi=0;*pi<5;(*pi)++)
        cout<<*(p+(*pi))<<" ";
    delete [] p;
    return 0;
}
#4
q2152362132015-05-12 11:58
int *pi=new int,*pj=new int;  这个写法最好改改,看着很不直观!
1