首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

12个很好玩的C语言面试题,不来测试下嘛?

3.main()的返回类型 问:下面的代码编译通过?如果能,它有什么潜在的问题? ? 答:因为main()方法的返回类型,这段代码的错误在大多数编译器里会被当作警告。...4.内存泄露 问:下面的代码导致内存泄漏? ? 答:尽管上面的代码没有释放分配给“ptr”的内存,但并不会在程序退出后导致内存泄漏。在程序结束后,所有这个程序分配的内存都会自动被处理掉。...6.使用_exit退出 问:在下面的代码中,atexit()并没有被调用,为什么? ? 这是因为_exit()函数的使用,该函数并没有调用atexit()等函数清理。...7.void*和C结构体 问:你能设计一个能接受任何类型的参数并返回interger(整数)结果的函数?...*和++操作 问:下面的操作输出什么?为什么? ? 答:输出结果应该是这样: ? 因为“++”和“*”的优先权一样,所以“*ptr++”相当于“*(ptr++)”。

1.1K3130

一道面试题考验了你对java的理解程度

如果你不想知道为什么,只想知道结果,那么就直说,自动装箱就是jdk调用了Integer的valueOf(int)的方法,很简单,看源码 ?...没错,也是new出来一个对象,如果想知道上面的代码做了什么处理,可以参考 Long==Long有趣的现象 这篇文章,里面有介绍类似的 好了,有人可能问,为什么知道自动装箱调用的是valueOf方法...,这里其他人怎么知道不清楚,是通过查看反编译的字节码指令知道的 ?...很好奇如果有人以下这样写,面试官会有什么反应 ? 既然出了肯定是有解的,可以实现,回头看看,在上面swap2的那个例子中是通过set方法来改变值的,那么Integer有没有提供呢?...现在感觉很开心,终于找到解决方案,可是当你执行的时候,从输出结果你会发现,jdk在跟我开玩笑 a = 1, b = 2 a = 2, b = 2 为什么会出现这种情况,无奈,调试会发现是在value.set

50320
您找到你想要的搜索结果了吗?
是的
没有找到

Blockchange丨老矿工的区块链5000字终极指南

即使那些没有接触过数字货币、也不知道其如何工作的人也在讨论区块链。 在理解这些新技术的时候,那些没有技术背景的朋友“懵了”,他们一连几个星期缠着让解释到底什么是区块链。...但这里,我们假设有十个人想要放弃银行或任何其他管理交易的第三方。在彼此同意的情况下,他们一直都有对方账户的详细信息但不知道对方的身份。 1.建立一个空文件夹 每个人都从建立自己的空文件夹开始。...想到一种方法。 为什么不一一地尝试宇宙中的每一个数字,直到我们得到一个以连续三个0开头的单词? 经过几千次的尝试,最终会得到一个能够产生正确结果的数字。 要计算给定输出的输入内容是非常困难的。...想象一下,给你两个盒子,第一个盒子里包含了数字20893。然后,问你,“你能算出这样一个数字:如果用它加上第一个盒子里的数字,然后发送给机器,可以得到一个以三个0开头的单词。”...如果为了自己的利益回到第二页并修改交易,该怎么办?加密数字可以让任何人发现交易中的不一致性,对?如果继续为已修改的交易计算一个新的加密数字,并在页面上添加这一数字,该怎么办呢?

34310

Reddit热议:为什么PyTorch比TensorFlow更快?

然而,TensorFlow (在 graph 模式下) 编译一个 graph,因此当你运行实际的训练循环时,在 session.run 调用之外没有任何 Python 开销。...在这种情况下,为什么 TensorFlow 版本没有更快一些呢? 听说 PyTorch 在 cuDNN 级别上进行了更好的优化。有人能提供更多细节?...对 torch 函数的 Python 调用将在排队操作后返回,因此大多数 GPU 工作都不会占用 Python 代码。这将瓶颈从 Python 转移到了 CUDA,这就是为什么它们执行起来如此相似。...TF 有执行程序,它也将异步运行所有内容 (这意味着独立节点将以一种你能够尽快满足输出节点的方式执行)。 关于 OP 的观点,真的不知道为什么有时候更快。...patrickkidger: 这与 PyTorch 和 TensorFlow 没有直接关系,但是既然 NCHW 和 NHWC 被提了出来,希望这里有人知道答案…… 为什么 batch size N

2.5K30

Reddit热议:为什么PyTorch比TensorFlow更快?

然而,TensorFlow (在 graph 模式下) 编译一个 graph,因此当你运行实际的训练循环时,在 session.run 调用之外没有任何 Python 开销。...在这种情况下,为什么 TensorFlow 版本没有更快一些呢? 听说 PyTorch 在 cuDNN 级别上进行了更好的优化。有人能提供更多细节?...对 torch 函数的 Python 调用将在排队操作后返回,因此大多数 GPU 工作都不会占用 Python 代码。这将瓶颈从 Python 转移到了 CUDA,这就是为什么它们执行起来如此相似。...TF 有执行程序,它也将异步运行所有内容 (这意味着独立节点将以一种你能够尽快满足输出节点的方式执行)。 关于 OP 的观点,真的不知道为什么有时候更快。...patrickkidger: 这与 PyTorch 和 TensorFlow 没有直接关系,但是既然 NCHW 和 NHWC 被提了出来,希望这里有人知道答案…… 为什么 batch size N

1.4K20

【RTOS训练营】GPIO知识和预习安排 + 晚课提问

堆和栈都是内存,不是flash,来画一个图: 我们写好程序之后,烧写进flash。 开板断电,没有程序运行,没有人去使用内存。 开发板上电,程序运行的时候要去初始化全局变量。...在我们这个例子里面,怎么知道你要释放了,这块内存多大呀?根本就没有办法知道。 所以我们使用这种方法实现的分配函数,它不支持释放,对于真正的分配函数,我们应该怎么做?...答: malloc函数本身没有办法确定可用的堆的大小,他只有一个返回值,要么成功要么失败。 20. 问: 右边的1、这种格式写法对? 答: 正确。 21....问: 怎么知道堆的起始地址?是通过编译器分配的? 答: 我们可以通过编译器来确定,甚至可以直接定一个巨大的数组,把这个数组就当做堆,freertos里面就是把一个巨大的数组用作堆。 26....我们可以看得出来他返回到这个语句:return 0。 但是在add的函数里面,他怎么知道返回到这个语句? 是不是得由main函数告诉他呀?

44940

Java 反射基础(下)

Java 虚拟机(JVM)在编译 .java 文件得到 .class 文件时,优化我们的代码以提升效率。..."world")){ //do something } 编译得到的 .class 文件(当然,编译后是没有注释的): private final String FINAL_VALUE = "hello...这结果您觉得可信?反正信了!什么,您还不信?问我怎么知道 JVM 编译后会优化代码?那要不这样吧,一起来看看 TestClass.java 文件编译得到的 TestClass.class 文件。...您可能问我为什么要说这个,这就解释: 我们修改一下 TestClass 类,在声明常量时不赋值,然后添加构造函数并为其赋值,大概看一下修改后的代码(部分代码 ): public class TestClass...再想想那句”程序运行时是根据编译后的 .class 来执行的“,相信您一定明白为什么这么输出了! 请您务必将上面捋清楚了再往下看。

91460

抽丝剥茧C语言(初阶 中)

那么会有人说,arr1[] 不是也没有 \0 ,其实字符串是自带 \0 的,所以很正常。...; 相当于 printf(“Eh]”); 但是这种问题是不会出现在的VS2022编译器上的,没有过多的了解,暂时先放一放....,在你的编译器里,以/* 这个符号开头,以 */ 这个符号结尾,两个两个一对,中间的任何文字,数字,字符都是不被编译器识别的,这是C语言的注释风格, // 这个是C++注释风格,被修饰的一行都不过会被编译器识别...“要继续努力敲代码这句话”); 就算复制粘贴都需要很久,所以要让你的编译器帮你完成这个任务!...\n"); } return 0; } 把条件改成了0,输出结果如下: 果然,原来的2万行现在一行没有. 4.函数 函数我们已经接触一点点了,比如main函数printf函数,当然它可不是我们认知的数学那些函数

65900

蚂蚁、字节、滴滴面试经历总结(都已过)

2.前者编译输出接口,后者运行时加载。...; 完成模块编译:在经过第 4 步使用 Loader 翻译完所有模块后,得到了每个模块被翻译后的最终内容以及它们之间的依赖关系; 输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 Chunk...估计是想问 http 的管线化,当时忘了这个叫啥了 介绍一下为什么要有 三次握手,四次挥手 写过 babel 插件?用来干啥的?...怎么写的 babel 插件 写过一些简单的 babel 插件,说了我们公司用来通过代码生成文档的 babel 插件是怎么做的。 知道怎么转化成 AST 的?...mysql 为什么用 mysql 希望滴滴能提供给你什么? 这个题其实还挺常考的,可以好好准备下,背一下答案。 最后面试官问我有什么想问他的么,没有,因为之前问得挺多了。

1.3K61

C语言中什么是常量表达式_c语言整型表达式

大家好,又见面了,是你们的朋友全栈君。 常量表达式 c语言,整型表达式和常量表达式中都没有变量参与吧? 完整问题: 好评回答:表达式没有变量参与?...不是很清楚这个问题的定义,只是知道(a b)这种表达式下a和b都可以是变量 Java编译器对于String常量表达式的优化是什么呢?...类似这样的问题,有人考过也拿来考过别人(蛮好玩的,大家也可以拿来问人玩),一般答案会是以下几种: 1。...,编译器在编译时直接计算容易理解,而”a” + “b” 这样的表达式,string是对象不是基本类型,编译器会把它当成常量表达式来优化?。...类似这样的问题,有人考过也拿来考过别人(蛮好玩的,大家也可以拿来问人玩),一般答案会是以下几种: 1。

1.1K30

FreeMarker与JSP 2.0 + JSTL组合进行比较

宏和函数只是变量,所以它们可以像任何其他值一样简单地作为参数值传递,放入数据模型等。 第一次(或更改后)访问页面时几乎不明显的延迟,因为没有昂贵的编译发生。...(它可以在技术上工作,但没有人实现了。)...只是因为不知道患者是否患有青霉素过敏,我们只能说他/她没有?只要考虑这些错误的含义。显示错误页面通常比显示不正确的信息更好,导致用户端的错误决定。...values,得到了 java.util.Map与真实映射条目混合的方法。当然,只想得到地图条目。...您更改模板语言语法以适应的编辑器? 我们不会更改标准版本,因为很多模板依赖于它。

5.4K40

运行个Hello Word也能出Bug?Python、Java、C++等16种语言中枪,最严重可导致文件丢失

0 Bug的最初发现者表示:这可不是一个小错误,本质上是“打印到标准输出”的任务。 发生了错误但不抛出异常,意味着即使出现数据丢失,进程依然继续运行。...1 而正如我们开头所示的代码,在用C语言进行输出时,hello程序却报告成功,返回了0。...0 这个Bug严重?现实世界任何一个程序都不会拿Hello World当作关键性安全问题,但“打印到标准输出”却是现实中确实会有的程序任务。...博主sunfishcode这样说: 标准输出可能意味着一个具体文件,那么如果这个文件刚好耗尽了空间,程序又因为Bug没有检测到这一错误呢? 父进程不会知道子进程失败了,只会继续运行。...反对者直言作者是在标题党,还以为是发现了什么C语言标准库里的Bug,但实际上只是处理所有可能的系统调用的失败情况: Hello World只是简单地将API调用到文本界面,对一个简单的接口进行调用,在那里没有发现过任何

50150

深挖String

,因为修改为2了 但是没影响原来的变量 不就是值传递?...process2 打印 老王 二当家 这里有人说是引用传递 因为修改了下 影响原来的值了 不就是引用传递 process3 打印 老王 老王 又有人说这里是值传递 因为修改数据了 没改变原来的变量...肯定是值传递 这里就会有人很疑惑 究竟啥玩意儿,咋tm和我看的定义不一样 所有不需要深挖概念 下面告诉你答案 其实只有值传递 确切来说是地址传递 为什么这样说呢?...然后是再堆中创建一个指向堆中这个常量的对象 都是常量时 没有拼接好的字符串则创建 有的话返回 不会在堆中创建 intern方法 这个举下图例子来讲解 首先上面已经讲过 str1 创建五个对象...不存在字符串常量池没有的情况 因为str=”a“一定存在 总结 字符串调用intern()方法时 先判断字符串常量池是否存在对象 有的话直接返回地址引用 没有的话需要把堆中对象引用复制到字符串常量池再返回常量池的引用值

18620

运行个Hello Word也能出Bug?Python、Java、C++等16种语言中枪,最严重可导致文件丢失

0 Bug的最初发现者表示:这可不是一个小错误,本质上是“打印到标准输出”的任务。 发生了错误但不抛出异常,意味着即使出现数据丢失,进程依然继续运行。...1 而正如我们开头所示的代码,在用C语言进行输出时,hello程序却报告成功,返回了0。...0 这个Bug严重?现实世界任何一个程序都不会拿Hello World当作关键性安全问题,但“打印到标准输出”却是现实中确实会有的程序任务。...博主sunfishcode这样说: 标准输出可能意味着一个具体文件,那么如果这个文件刚好耗尽了空间,程序又因为Bug没有检测到这一错误呢? 父进程不会知道子进程失败了,只会继续运行。...反对者直言作者是在标题党,还以为是发现了什么C语言标准库里的Bug,但实际上只是处理所有可能的系统调用的失败情况: Hello World只是简单地将API调用到文本界面,对一个简单的接口进行调用,在那里没有发现过任何

54010

Python内置(2)异常、常量、globals

如果没有预定义ValueError和KeyError,就不能这样区分错误类型。 关于异常的更多内容,如异常的子类化,Exception几乎是任何异常的父类、BaseException是所有异常的父类。...现在应该指出,上面输出中的所有大写值都不是异常类型,实际上,Python中有另一种类型的内置对象是大写的:常量。让我们来谈谈这些。...为什么这是一个功能有很长的技术原因,它涉及元类等高级主题,所以不幸的是,不会解释为什么它存在。...__cached__ 导入__cached__模块时,该属性存储该模块的已编译 Python 字节码的缓存文件的路径。你可能惊讶,Python也要编译?是的。Python被编译。...事实上,所有的Python代码都是被编译的,但不是机器代码 ,而是字节码(bytecode)。让通过解释Python如何运行你的代码来解释这一点。 1. 获取源文件,并解析为语法树。保证语法正确。

91720

好的编程语言具备哪些特性?

尽管有人声称,当 Haskell 代码编译时,它往往是正确的,但这似乎不像支持者所希望的那样正确。...学这个计划是因为每个人都应该在某个时候尝试一下 Lisp。这很有趣,但我真的没有任何理由用它来做任何实质性的事情。括号太多了,没有任何顿悟。...有人创建一台计算机,为它设计一个操作系统,然后语言编译器是可选的附加组件。...当我说完这番话,总有人问我为什么不提 C#,原因很简单,因为没有充分使用 C# 语言,不理解它与 Java 的区别(除了它让恼火的所有方面)。...撇开的偏好不谈,他们似乎有着非常相似的生产率配置文件,而且知道有什么足够的客观原因来选择其中一个(除了平台问题,因为反正没有人使用.NET core)。

2K10

什么是好的编程语言?

尽管有人声称,当 Haskell 代码编译时,它往往是正确的,但这似乎不像支持者所希望的那样正确。...有人创建一台计算机,为它设计一个操作系统,然后语言编译器是可选的附加组件。...当我说完这番话,总有人问我为什么不提 C#,原因很简单,因为没有充分使用 C# 语言,不理解它与 Java 的区别(除了它让恼火的所有方面)。...撇开的偏好不谈,他们似乎有着非常相似的生产率配置文件,而且知道有什么足够的客观原因来选择其中一个(除了平台问题,因为反正没有人使用.NET core)。...这是完美的语言知道,但它当然不止如此,但到目前为止,真的很高兴使用它进行编码和开发。

2.6K20

翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》- 第 5 章:减少副作用

,你看不到代码,但是告诉你这段代码没有间接的副作用,只有一个显式的 return 值怎么样? bar( 4 ); // 42 因为你知道 bar(..)...所以说这个函数还依赖于其他的原因认为不。虽然可以用其他的函数来重写 bar 这个变量,但是在代码没有这样做,这也不是的惯例或先例。...那么如果一个有副作用的函数,并且这个副作用在程序的其他地方没有被观察到或者依赖怎么样?这个功能还具有引用透明性?...这是一个像这棵树一样不能观察到的副作用? 假如一棵树在森林里倒下而没有人在附近听见,它有没有发出声音? 通过引用透明的狭义的定义,想你一定会说 calculateAverage(..)...回到这个哲学理论: 假如一棵树在森林里倒下而没有人在附近听见,它有没有发出声音? 通过这个暗喻,得到的是:无论是否产生声音,如果我们从不创造一个当树落下时周围没有人的情景更好一些。

1.2K70

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券