- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于我已经编码 C 20 多年了,我认为是时候参加考试了!看看我是否学到了任何东西,或者我是否只是一些欺诈行为,向互联网上的初学者发布免费但不正确的建议。
这个站点(我没有附属)提供免费的 C 测试。 https://www.tutorialspoint.com/cprogramming/cprogramming_mock_test.htm .
我参加了测试 1,但以 50 分中的 34 分惨败!是这个吗?我必须放弃我的 C 程序员职业吗?这个 Tutorialspoint 站点及其测试有多好?
具体来说,我未能用测试预期的答案回答 Q7、Q9、Q10、Q14、Q16、Q17、Q19、Q21、Q27、Q28、Q31、Q32、Q33、Q35、Q38、Q46。这些问题的正确答案是什么?
此外,当我在符合标准的 C 编译器( gcc -std=c11 -pedantic-errors
)上编译问题时,它们甚至都不会通过编译。这是为什么?我和/或我的编译器坏了吗?或者这个网站根本不是很好?
最佳答案
这个网站一点都不好。
题是为1999年撤回的旧版C语言写的。它允许你把main写成main()
没有返回类型。这已经超过 20 年的 C 无效,所以这就是它不能编译的原因。您需要使用 -std=c90
进行编译.
尽管在 main()
之前在带有隐式 int 的旧 C90 中,操作系统将使用函数 main() 的返回值,因此如果没有这些示例中的 return 语句,这意味着未定义的行为 (C11 6.9.1/12)。
值得注意的是,整个测试也缺乏\n
在 printf
,这意味着 stdout
直到程序结束才刷新。 C 保证它在程序终止时被刷新。
具体来说,这些问题也是不正确的:
'A'
和 255
属于 int
类型,所以加法(假设 A=65)保证不会溢出,而是导致 65 + 255 = 320。这导致 int
然后通过简单的赋值转换为 c
的类型这是 char
.这又可能是有符号或无符号类型,具体取决于编译器。这会影响转换是按照 C11 6.3.1.3/2 进行明确定义还是按照 6.3.1.3/3 进行实现定义。一种可能的结果是 320 = 140h,被截断:40h = 64。这将打印字符 '@'
在 Linux 的 gcc x86 编译器上。unsigned x = 5, *y=&x, *p = y+0;
在这种情况下,结果是未指定的 - 不能保证表达式 *y=&x
在表达式 *p = y+0
之前计算.参见 C11 6.7.9/23:The evaluations of the initialization list expressions are indeterminately sequenced withrespect to one another and thus the order in which any side effects occur isunspecified.
malloc
的结果进行强制转换可能会引起很多风格问题。 .但除此之外,假设 #include <stdlib.h>
存在,代码没问题。如果包含不存在(如问题中所示),则代码已损坏并且任何事情都可能发生。gcc -Wall
)可能会在此处抛出一些诊断消息,因此回答“编译错误”不一定是错误的。取决于编译器设置。65
是 'A'
的符号表值,然后它可以打印 'A'
(little endian) 或 0
对应的符号(大端)。后者很可能看起来像“垃圾”。#include <string.h>
不见了。否则它会打印 0。short
, short int
或 int short
- 都是等价的,所以这个问题没有多大意义。关于c - 教程点的 "C mock tests"是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62816217/
我有一段代码是这样的: while(count = inputStream.readLine()) != null) { //do something } 在单元测试用例中,我正在模拟 inp
我有一段代码是这样的: while(count = inputStream.readLine()) != null) { //do something } 在单元测试用例中,我正在模拟 inp
假设我在文件中具有以下命名导出 customer.ts export const saveDetails = ()=>{} export const loadDetails = ()=>{} 假设我在
我一直试图绕过dart的模拟库,但似乎我仍然不明白。 在我的库中,我有一个对外部资源的HTTP请求,我想以此模拟它不要一直依赖外部资源。 我的库中的主类如下所示: SampleClass(String
使用 postman 模拟服务器存在问题。它不响应具有路由参数的请求。例如,我的 uri 如下所示: PUT : {{server_url}}/order/{id} 但是当我以这种方式调用模拟服务器时
将任何转换器或空属性转换添加到 Jest 配置时,模拟无法正常工作。下面是简单的代码。 Jest 配置: "transform": { any regex: any transformer } 模块说
我最近一直在做一个项目,该项目已经开始变得相当依赖,并且一直在探索使用 AutoMocking 容器来清理我的测试并使其不那么脆弱的想法。 我听说过 TDD/BDD 纯粹主义者反对使用它们的论点,例如
有谁知道为什么 UsernameExists 不会返回 True。我的语法一定在某个地方搞砸了。 [TestMethod()] public void GenerateUsername
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
我得到一个 Moq 对象以在连续调用方法时返回不同的值。这是通过此扩展方法完成的: public static void ReturnsInOrder(this ISetup setup, param
rhino-mocks stub 和这里的期望有什么区别:在我看来它们的行为完全相同? mockContext.Stub(x => x.Find()) .Return(new List()
我正在尝试模拟方法 extra_get() 的调用,该方法通常返回一个字典列表。据我从模拟docs了解,如果我想返回iterable,我应该设置side_effect参数。 client.extra_
在我的 CentOS 6.2 机器的/var/lib/mock 文件夹下,我可以看到目标构建操作系统中的所有初始应用程序。如果我想添加 JDK 作为额外的应用程序,我该怎么做?谢谢! 最佳答案 只需将
我正在寻找一种让 stub 的返回值取决于其输入的干净方法。 目前我正在使用以下方法,但效果不佳。 metadataLogic.Expect(x => x.GetMake(args.Vehicle1.
我正在设置调用构建和执行查询的方法的期望。我想询问所用参数的属性。这可能吗 using (mocks.Record()) { Expect.Call(connection.Retrieve(S
有没有人有一个使用 Rhino Mocks 和 NInject 的自动模拟容器的实现? 最佳答案 好的,我使用 Moq 集成作为起点自己构建了一个。这很简单。你需要这 3 个类: public cla
使用后@patch在我的装饰器上它不再起作用了。我想进行一个失败并引发异常的调用,以便我可以检查我的装饰器是否正在捕获此异常,并正在调用某个函数。 mock do_sth_in_db让它引发异常是很容
谁能告诉我为什么下面的测试没有失败? [Test] public void uhh_what() { var a = MockRepository.GenerateMock(); a.
我找不到 Moq 和 Rhino 的具体功能比较。所有的问题都是“你更喜欢哪个以及为什么”,或者“这是你如何在 rhino 中进行简单的模拟以及如何在最小起订量中完成的”。 我在任何地方都找不到深入的
我正在尝试模拟数据存储库对象,但在 MockRepository 上设置期望后,它每次都返回 null。我的代码如下: [测试] 公共(public)无效 GetById_NotNull() { 预
我是一名优秀的程序员,十分优秀!