求解一道c语言填空题:以下程序运行后的输出结果是()
structNODE{intnum;structNODE*next;};main(){structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}...
struct NODE
{
int num;
struct NODE *next;
};
main()
{ struct NODE s[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;
int sum=0;
s[0].next=s+1;
s[1].next=s+2;
s[2].next=s;
p=s;
q=p->next;
r=q->next;
sum+=q->next->num;
sum+=r->next->next->num;
printf("%d\n",sum);
}
这道题目讲的什么意思完全没有看懂啊。 展开
{
int num;
struct NODE *next;
};
main()
{ struct NODE s[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;
int sum=0;
s[0].next=s+1;
s[1].next=s+2;
s[2].next=s;
p=s;
q=p->next;
r=q->next;
sum+=q->next->num;
sum+=r->next->next->num;
printf("%d\n",sum);
}
这道题目讲的什么意思完全没有看懂啊。 展开
3个回答
展开全部
s0的下一个指向s1,s1的下一个指向s2,s2的下一个指向s0,p指向s0,q指向s1,r指向s2,所以sum=q->nextt->num(即s1的num--2)+r->next->next->num(即s2的num3)=5
最后答案5
最后答案5
追问
你好 我最后两步没有看懂 sum=q->next->num(即s1的num---2)+r->next->next->num(即s2的num---3)=5 我觉得应该是q指向s1 所以它的next指向S2 故应该是3 后面那个是2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序前面加一句:#include <stdio.h>
sun=0x0005
sun=0x0005
追问
恩恩 只是填空题目 不深入追究
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做这道题首先要知道牵涉到的链表。结构体等知识,主函数前定义的就是结构体,我做出来的答案是5
更多追问追答
追问
恩 是5 我没有太看懂题目的意思 麻烦帮我解答下
追答
struct NODE s[3]={{1,'\0'},{2,'\0'},{3,'\0'}}这句懂吧,是定义结构体元素的值,不知道你学过结构体,链表和指针没有,说起来有点麻烦,你先说下你学到哪种程度了吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询