C语言 管好自己很简单读后感,但我不知道自己哪里出错了。求大神帮忙看看

用c语言写数据结构的栈,但不知道为什么出错,求大大帮忙~~~_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:552,887贴子:
用c语言写数据结构的栈,但不知道为什么出错,求大大帮忙~~~收藏
采用栈的链式存储结构用菜单的形式完成栈的出栈、入栈等基本操作。vc 6.0说出错了。但是我小白不明白哪里错的。。。求大神出手救救~~~~#include&stdio.h& #include&stdlib.h&#include&malloc.h&#define STACK_INIT_SIZE 100;#define STACKINCREMENT 10; typedef struct {int *int *}SqStypedef int ElemTint InitStack(SqStack &S) { int size = STACK_INIT_SIZE;S.base=(int *)malloc(size*sizeof(ElemType));if(!S.base) return 0; S.top=S. S.stacksize=STACK_INIT_SIZE;return 1;}int GetTop(SqStack S,int &e) if(S.top==S.base) return 0;e=*(S.top-1);return 1;}int Push(SqStack &S, int e) { if(S.top-S.base&=S.stacksize) { int stackinvrement = STACKINCREMENT;S.base=(ElemType *) realloc(S.base,(S.stacksize+stackinvrement)*sizeof(ElemType));if(!S.base) return 0; S.stacksize+=STACKINCREMENT; }*S.top++=e;return 1;}int Pop(SqStack &S,int &e){ if(S.top==S.base) return 0;e=*--S.return 1; }void OutputStack(SqStack &S) {int *q;q=S.top-1;for(int i=0;i&S.top-S.i++){printf("%3d ",*q);q--;}}void main() { int a,b,SqSInitStack(s);printf("请输入要进栈的元素个数是:");scanf("%d",&a);printf("\n请输入要进栈的%d个元素:",a);for(b=0;b&a;b++) { scanf("%d",&c);Push(s,c); }do { printf("\n");printf("1.输出栈的元素\n");printf("2.取栈顶元素\n");printf("3.删除栈顶元素\n");printf("4.退出程序\n");printf("\n请选择一个字符:");getchar();scanf("%c",&m);switch(m) {case '1': printf("\n输出的栈为:");OutputStack(s);case '2': GetTop(s,c); printf("\n栈顶元素为:%d",c);printf("\n输出的栈为:");OutputStack(s);case '3': Pop(s,c);printf("\n删除的栈顶元素:%d",c);printf("\n输出的栈为:");OutputStack(s);printf("\n");case '4':default: printf("输入的数字有错,请重新选择!\n");} }while(m!='4');}
上市公司达内c语言,打造专为培养精通Unix和windows双系统开发c语言工程师c语言,指定c语言名师授课,让您精通应用极其&广泛&,&流行&的编程语言.
C语言里没引用符&吧
恩恩。。刚才问了下别人,终于把错误都弄好了c语言是用*的。。还有比如S.top这样的都要改成S-&top才对- -
登录百度帐号推荐应用(一叶知秋)
(陌上清风)
(黑山老妖)
第三方登录:谁说C语言很简单? - CSDN博客
谁说C语言很简单?
关于在回复里骂我的朋友们,无所谓哦,呵呵,大家有空可以看看我的另一篇文章《》,我们可爱的程序员。
如果你觉得文章有意思,你可以看看我的另一篇文章&&《》
前两天,Neo写了一篇《》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。
是的,C语言并不简单,让我们来看看下面这些示例:
为什么下面的代码会返回0?(这题应该很简单吧)
return x == (1 && x);
本题主要是关于C/C++中变量初始化的问题。
为什么下面的代码会返回0而不是-1?
return ((1 - sizeof(int)) && 32);
答案:sizeof 是一个unsigned的类型,所以&&
代码作用域是一件很诡异的事,下面这个函数返回值是什么?
int x = 5;
int x = 3;
函数和函数指针可以相互转换。下面的语句哪些是合法的?
int (*pf)(void);
int f(void)
pf = &f; // 没问题
pf = ***f; // 取址?
pf(); // 函数指针可以调用?
(****pf)();
// 这又是什么?
(***************f)(); // 这个够变态了吧?
答案:全部合法。
初始化可能是ISO C中最难的部分了。无论是MSVC 还是GCC 都没有完全实现。GCC 可能更接近标准。在下面的代码中,i.nested.y 和i.nested.z的最终值是什么?
} i = { .nested.y = 5, 6, .x = 1, 2 };
答案:2和6
下面这个示例是C语言的痛,main函数返回值是什么?
typedef struct
typedef struct
((char *)&((T3) {1, (char *) 1}))
int main() {
T3 *pt3 = (T3*)a[0].
return pt3-&
答案:1(你知道为什么吗?)
下面这个例就更变态了。在GCC的文档中,这个语法是合法的,但是不知道为什么GCC并没有实现。下面的代码返回 2.
return ((int []){1,2,3,4})[1];
在下面的这个示例中,有一个&bar& 函数及其函数指针 &pbar& 的两个拷贝(static 类型一般作用于语句块或文件域).
int foo() {
static bar();
static (*pbar)() =
static bar() {
static (*pbar)() = 0;
下面的这个函数返回值是什么?取决于编译器是先处理unsigned long转型,还是负号。
unsigned long foo() {
return (unsigned long) - 1 / 8;
如果是:&((unsigned long) - 1) / 8,那将是一个很大的数。如果是: (unsigned long) (- 1 / 8 ), 那将是 0
是的,这样使用C语言可能很奇怪,不过我们可以从另一方面了解C语言的很多我们不常注意的特性。C语言其实并不容易。
本文已收录于以下专栏:
相关文章推荐
代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。
Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际...
原文:/?p=914
—— 酷壳 本文仅供朋友们“消遣作乐”,能够看懂是为什么固然不错。看不懂也不必太过认真,如果你要觉得有意思的话,顶顶贴。如果你觉得没什么意思的话...
makefile很重要
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professio...
摘自伊索寓言
OBJS = ifconfig.o tftp_util.o ping.o
SRCS = $(OBJS:.o=.c)
PHONY += all
all : $(BUILT_IN_OBJ)
Linux主流调试器是gdb,但它是纯命令行界面的,调试起来不方便,我需要更强大的力量。在试用了各种工具之后,我相信我找到了,是的没错,就是它——宇宙最强调试器——DDD。
记性不好,多写博客
表示目标文件
表示所有的依赖文件
表示比目标还要新的依赖文件列表...
榔唤重腾鲁品品侔杭诒够伤慰厣诒什才劫刳门叫道陡季蛔熬盎素蛔稍约么馗仁谒铰分仿诒缀缸臣兹伤钠负酚牡陡丝诼檀烙谒钾仁侔檀瀑戏和纠研烙滴俜疤车妨唤囤侍四耘侠履厦沮幽缆季诱及履陡懈涛懈涎幽兹崖珊慰辛该拖牢滦季...
作者:胡彦
代码和文档下载地址:/s/1pLBOZB9
(原来的老地址不小心删掉了,请用这个新的)
目的:编写一个实用的makefil...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 很简单 的文章

 

随机推荐