#考试酷#A12_Precedence and Order of Evaluation-1

说在前面——A12这份卷子确实特别恶心
准确来说就是超纲太多而且部分题目存在错中还错的情况,所以这一篇真的有点难做
尽最大的努力查到了知识点,希望有所帮助

20200317
经过同宿舍大佬LYchee的指点,第3、4题的bug已经成功修正,在此特别感谢我们的小仙女LYchee同学【爱你】


1
stack overflow——堆栈溢出的问题
网上的解释是在数组中输入的数字个数大于数组的大小
但是这里显然不是这个问题。

那么问题是什么呢?
有两个——①exit(0)缺少原型 ②不应该使用i++

①exit(0)是个什么
简单来说这玩意其实和return很像,但又不同

return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。

return是返回函数调用,如果返回的是main函数,则为退出程序 exit是在调用处强行退出程序,运行一次程序就结束
return是返回 , 函数返回 而exit是退出

exit(1)表示异常退出.这个1是返回给操作系统的不过在DOS好像不需要这个返回值 exit(0)表示正常退出

啊反正我没看懂。
大概的意思是说exit是整个程序的退出,0表示正常退出,1表示异常推出。

另外exit()是一个函数,所以它是需要原型的。
它的原型在<stdlib.h>中。

②i++是错误的
因为return reverse(i++);直接进入下一个循环就没有执行++这个步骤了。所以应该改成++i。

奉上正确的代码

#include <stdio.h>
#include <stdlib.h>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值