有以下程序: #include struct link{ int data; struct link*next; }; main() {struct link,lc h,a,b;

admin2019-01-11  22

问题 有以下程序:
    #include
    struct link{
    int data;   
    struct link*next;   
    };
    main()
    {struct link,lc h,a,b;
    h;&a;a.data=10;a.next=&b;b.data=20;
    …
    }
    程序运行时不能输出10,20的语句是(    )。

选项 A、printf("%d,%d\n",h一>data,a.next.data);
B、printf("%d,%d\n",a.data,(*a.next).data);
C、printf("%d,%d\n",h一>data,(*a.next).data);
D、printf("%d,%d\n",a.data,a.next一>data);

答案A

解析 可用以下3种形式来引用结构体变量中的成员:结构体变量名.成员名;指针变量名一>成员名;(*指针变量名).成员名。主函数定义了两个结构体变量a、b其成员data分别为10和20,且a成员指针指向b。A选项中a.next为指针,其引用格式为a.next一>data与(*a.next).data,A选项错误,故选择A选项。B选项a.data=10,(*a.next).data=20,能正确输出10,20;C选项h一>data=10,(*a.next).data=20,能正确输出10,20;D选项a.data=10,a.next一>data=20,能正确输出10,20。
转载请注明原文地址:https://jikaoti.com/ti/usa0FFFM
0

相关试题推荐
最新回复(0)