问题标签 [cs50]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1445 浏览

c - 无法正确释放内存

我现在正在研究哈佛 cs50 的 pset6,问题是要实现一个 trie 字典。我终于设法让它解决了一个小问题。

  1. 当我运行 valgrind 检查内存泄漏时,它告诉我释放的内存比分配的多,但我的卸载函数看不到任何问题。
  2. 它还警告我有一些未初始化的值,但我无法弄清楚,尽管它不会影响结果。

这是我的整个代码:

这是一些 valgrind 输出:

0 投票
6 回答
1451 浏览

c - C while循环没有停止

您好,我目前是 C 的新手,我正在在线上哈佛的 CS50 课程。“更改”变量似乎下降到 0.00 而没有停止 while 循环。这迫使我在最后输入“break”。我的代码有什么问题?

顺便说一下,这是来自问题集 1。

0 投票
10 回答
352 浏览

c - 为什么我的循环不是无限的

我想知道为什么如果用户输入一个数字 for 循环不会无穷大n。假设用户输入 40 n; 不会i总是n-1,所以 39 和n40,然后i变成 38 当n变成 39 等等 - 那不会造成无限循环吗?

0 投票
2 回答
120 浏览

c - 未指定的函数返回

我一直在通过各种渠道自学 C。我发现的练习之一是过去一年的 cs50 问题集(可在此找到,位于Bad Credit标题下)。从本质上讲,我已经解决了这个问题,但意识到我正在执行相同的步骤两次,也许可以将该步骤包装在一个函数中以供重用。

我的问题是我不确定如何定义对尚未指定的数组的返回。或者,就此而言,如果这是一个好主意。我认为如果我能让它工作,重用代码将是一件好事,但我不知道该怎么做。

如下代码所示,问题是取一个长数字,分隔每个单独的数字,并执行一些数学运算来进行校验和。这step1在下面的代码中返回。循环在这里完成了繁重的do/while工作,我想做的是对 in 中的元素做同样的事情,step1并将它们返回到step2或任何其他变量中。

我意识到这对这个问题没什么大不了的。我只是决定,如果可能的话,知道如何去做会很好。

0 投票
3 回答
3128 浏览

c - 我的代码有什么问题(CS50 2012 Pset 1 贪婪)

我正在尝试制作一个提供最少硬币数量的程序,但如果我提供的数字不是分成四等份的数字,它就会惨遭失败。例如,如果我输入 1.25,我得到 5 个四分之一,但如果我输入 1.26,我得到 5 个四分之一 1 镍,这当然是不正确的。我究竟做错了什么?

0 投票
4 回答
1162 浏览

c - 我在 C 中的简单加密有什么问题?(cs50 pset 2 - 地穴)

我不太明白这些错误来自哪里。我正在尝试创建一个简单的 C 程序,它接受一个字符串并向 ASCII 值添加一个偏移量,以创建一个极其简单的加密。

0 投票
4 回答
9828 浏览

c - 函数“GetInt”的隐式声明在 C99 中无效

我正在尝试用 C 编写这个简单的练习代码。它要求用户给出一个正数,检查它是否为正数,然后只返回正数。

我收到此错误:

我会认为这意味着我没有声明我的一个函数或者我没有调用某个库。据我所知,这一切都是我做的。这是我的代码:

有没有人知道为什么这会给我一个错误?

0 投票
2 回答
1513 浏览

c - 检查负 argv 的程序不起作用?

我的程序需要在命令行参数中接受一个非负整数。我也必须使用

宣布主要。

我的代码:

我的问题:当我-1作为命令行参数输入时,我的程序不会printf或停止运行。它继续到下一个代码块。我能做些什么来修复它(记住我需要保留 main 的确切声明),为什么这个当前代码是错误的?

0 投票
3 回答
45937 浏览

c - *初学者* C:不兼容的整数到指针转换将'char'传递给'const char *'类型的参数

我正在尝试将字符串中的每个字母转换为它的 ASCII 数字。使用

给我这个错误:

以下是我可能相关的其余代码:

我做错了什么,我该如何解决这个问题,以便将字符串转换为 ASCII 值?

注意:cs50.h让我在 main 中使用“ string”而不是“ char*”。

0 投票
4 回答
684 浏览

c - 开始 C 程序

我正在研究哈佛在线 CS50 课程的一些初始问题集。我让问题正常工作,但我想知道是否有更清洁或更好的方法让程序正常工作。

该程序的目标是打印由井号标签和空格字符组成的右对齐金字塔。非常欢迎任何有关风格或技巧的指导。