中易网

C语言栈的建立。

答案:3  悬赏:70  
解决时间 2021-02-11 00:09
C语言栈的建立。
最佳答案
你是想知道为什么在ddd里面修改了传入参数p的值,在main函数的printf里没有体现出来吧??

你定义的函数的参数传递方式是值传递,而不是引用传递,
所以即便你在ddd里修改了传入参数p的值,这个改变也不会反应在ddd函数调用以外。
如果想要达到ddd里面修改了,main也要看到修改的效果,就用引用。
将函数声明为:void ddd(aaa* &head,int n);

这个问题在debug的时候看一下函数调用前后,p的值有没有变化就能看出来。
多看看内存, 多分析分析问题。

另外,强烈谴责这种编码风格,,, aaa,bbb,ccc,ddd什么的,最讨厌了。 都是跟谭浩强学的吧。。。 上来就一堆abc, ijk什么的, 等到工作的时候就惨了。。。
全部回答
#include<stdio.h> #include<stdlib.h> typedef struct lnode{ int data; struct lnode *next;}aaa; aaa *bbb(aaa *head); void ddd(aaa *head,int n); void main() { aaa head,*p,*q; p=bbb(&head); ddd(p,5); printf("%d\t",p->data); } void ddd(aaa *p,int n) { aaa *head; head=new aaa; head->data=n; head->next=p; p=head; printf("%d\t",p->data); } aaa *bbb(aaa *head) { head->next=NULL; head->data=5; //你head->data没有赋值啊 return head; }
#include <stdio.h> #include <stdlib.h> typedef struct _stack {     int size;     int* base;     int* sp; } stack; void init(stack* s, int n) {     s->base = (int*)malloc(sizeof(int)*n);     s->size = n;     s->sp = s->base; } int push(stack* s, int val) {     if(s->sp - s->base == s->size) {     puts("overflow");     exit(1);     }     return *s->sp++ = val; } int pop(stack* s) {     if(s->sp == s->base) {     puts("underflow");     exit(2);     }     return *--s->sp; } int empty(stack* s) {     return s->sp == s->base; } void clean(stack* s) {     if(s->base)     free(s->base); } int main(void) {     stack s;     int i;     init(&s, 100);     for(i = 0; i < 10; ++i)     printf("%d ", push(&s, i));     putchar('\n');     while(!empty(&s))     printf("%d ", pop(&s));     clean(&s);     return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
双汇冷鲜肉批零中心NO.蒙DO2006怎么去啊,有
想问一下专接本应用心理学怎么样
国家电网德清供电营业厅怎么去啊,有知道地址
挂在空档,拖拉机还往前走
贵阳四级英语补习
12月到云南旅游要穿什么衣服
尚燕怎么去啊,我要去那办事
启东市职工赛鸽俱乐部地址在哪,我要去那里办
从事民间借贷需要什么手续,全面一点。
祥杰源豪车维修中心在什么地方啊,我要过去处
净月潭的湖水是人工的吗?
华夏宝贝孕婴童生活馆这个地址在什么地方,我
如何取消手机uc浏览器上的仅在wifi下下载?下
姐妹水饺骨汤面地址在什么地方,想过去办事
国平药堂在哪里啊,我有事要去这个地方
推荐资讯
《王罴性俭率》是通过哪些具体事情来表现人物
网线水晶头自己不用钳子怎么接?求高手!
已知sinx*cosy=1/2 求cosx*siny的取值范围
我养了一只小乌龟前五天还好好的,到第六天它
喝红糖茶有什么好处?
佛山,南海,黄岐,租房。
柿溪乡在哪里啊,我有事要去这个地方
426型纳米瓦每米有多重?
英红宾馆地址在什么地方,想过去办事
油炸后的食品怎么保持松脆
松花糕怎么做
青州市何官镇孙板村村民委员会在哪里啊,我有
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?