#include<iostream>using namespace std;struct P{ P *Pptr; int i;};int main(){ P p1 = {NULL, 1}; P p2 = {&p1, 2}; P p3 = {&p2, 3};cout << p3.Pptr->Pptr->i << endl; cout << p3.Pptr->i << endl;}行如何cout Pptr-> i cout i 在程序中执行? 最佳答案 这些陈述之后P p1 = {NULL, 1};P p2 = {&p1, 2};P p3 = {&p2, 3};您有一条链(由于数据成员Pptr)p3 -> p2 -> p1 -> NULL因此,此表达式p3.Pptr->Pptr->i首先引用p2(p3.Pptr),然后引用p1 (p3.Pptr->Pptr),然后输出结构i的数据成员p1的值此表达式p3.Pptr->i引用p2(p3.Pptr),并输出其数据成员i。关于c++ - 这两行指针如何执行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60970390/
10-11 17:04