C语言中exit(0)与exit(1)有什么区别??

C语言中exit(0)与exit(1)有什么区别??,第1张

1、exit(1)表示异常退出,在退出前可以给出一些提示信息,或在调试程序中察看出错原因。

2、exit(0)表示正常退出。

3、 return是语言级别的兆桥扰,是关键字,它表示了调用堆栈的返回,return用于结束一个函数的执行,将函数族旦的执行信息传出个其他调用函数使用,如果返回的是main函数,则为退出程序。

而exit是系统调用级别的,是一个函数,它表示了一个进程的结束。 exit是在调用处强行退出程序,运行一次程序就结束。这个状态标识了消岩应用程序的一些运行信息,这个信息和机器和 *** 作系统有关。

扩展资料:

return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。

return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

参考资料来源:百度百科:return

可以通过while语句、loop和goto语句实现。下边是我编的有关链表 *** 作的程序,你可以参考一下。主扒历要看main函数,前谈此游边是功能函数。

# include "stdio.h"

typedef int ElemType

typedef struct node

{ ElemType data

struct node *next

}slink

slink * crelink(int n)

{ slink *head,*p,*s

int i

if(n<1) return NULL

p=head=(slink *)malloc(sizeof(slink))

for(i=1i<含销=ni++)

{ s=(slink *)malloc(sizeof(slink))

printf("Plese input the Elem[%d]\n",i)

scanf("%d",&s->data)

p->next=s

p=s

}

p->next=NULL

return head

}

int getlen(slink * head)

{ slink *p

int n

p=head->nextn=0

while(p)

return n

}

int getelem(slink *head,int i,ElemType *e)

{ slink *pint j

if(i<1) return 0

p=head->nextj=1

while(p&&j<i)

if(p==NULL) return 0

*e=p->data

return 1

}

slink * locate(slink * head,ElemType x)

{ slink *pint i

p=head->nexti=1

while(p&&p->data!=x)

printf("%d",i)

return p

}

int deletei(slink *head,int i,ElemType *e)

{ slink *p,*q

int j

if(i<1) return 0

p=headj=0

while(p->next&&j<i-1)

if(p->next==NULL) return 0

q=p->next

p->next=q->next

*e=q->data

free(q)

return 1

}

int insert(slink *head,int i,ElemType x)

{ slink *p,*q

int j

if(i<1) return 0

p=headj=0

while(p&&j<i-1)

if(p==NULL) return 0

q=(slink *)malloc(sizeof(slink))

q->data=x

q->next=p->next

p->next=q

return 1

}

void list(slink *head)

{ slink *p

p=head->next

while(p)

printf("\n")

}

int deletex(slink *head,ElemType x)

{ slink *p,*q

p=head

while(p->next&&p->next->data!=x)

if(p==NULL) return 0

else

}

void turn(slink *head)

{ slink *p,*q

p=head->nexthead->next=NULL

while(p!=NULL)

{ q=p->next

p->next=head->next

head->next=p

p=q

}

}

main()

{ int n,m,o,t,s,r,i3

slink *head,*p4

ElemType e,e3,e4

printf("Please input The Size of The Link\n")

scanf("%d",&n)

head =crelink(n)

list(head)

loop0:

while(1)

{

printf("\n 删除位置,请按1;\n")

printf(" 删除元素,请按2;\n")

printf(" 插入元素,请按3;\n")

printf(" 元素位置,请按4;\n")

printf(" 递增排序,请按5;\n")

printf(" 递减排序,请按6;\n")

printf(" 逆置链表,请按7\n")

printf(" 求表长度,请按8;\n")

printf(" 退出 请按0;\n")

scanf("%d",&r)

if(r>=0&&r<=8)

{ switch(r)

{ case 0: exit(0)

case 1: goto loop1break

case 2: goto loop2break

case 3: goto loop3

case 4: goto loop4

case 5: goto loop5

case 6: goto loop6

case 7: goto loop7

}

}

else printf("输入错误,请再次选择!")

}

loop1:

printf("请输入要删除元素的位置\n")

scanf("%d",&m)

t=deletei(head,m,&e)

printf("%d %d\n",e,t)

list(head)goto loop0

loop2:

printf("请输入要删除的元素\n")

scanf("%d",&o)

s=deletex(head,o)

list(head)goto loop0

loop3:

printf("请输入插入元素的位置:")

scanf("%d",&i3)

printf("请输入插入的元素值:")

scanf("%d",&e3)

insert(head,i3,e3)

list(head)

goto loop0

loop4:

printf("请输入要查找的元素:")

scanf("%d",&e4)

p4=locate(head,e4)

printf("%d\n",p4->data)

goto loop0

loop5:

loop6:

loop7:

turn(head)

list(head)

goto loop0

system("pause")

}

1A,

2D,

3AC(一个c语句以;为结束标志,注意是耐闹英文输入状态下的分号。每个C程序必须有且只有一个主函数。),

4D(注释仿春可以位于任意位昌大罩置),

5A(标识符只能有字母数字下划线组成,且只能由字母或下划线开头,并且不能是关键字。)

6C

7B(如果还有的话,就是枚举型了)

8C

9BA

10BA


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12479138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存