问题标签 [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 投票
8 回答
108029 浏览

c - 如何解决错误:预期标识符或“(”

我正在编程的东西有问题。我一遍又一遍地得到这个错误;

我在整个互联网上搜索,但找不到问题..删除 ; 在int main(void)没有帮助之后

这是我的代码:

几天来我一直在尝试解决这个问题,但我就是想不通!

非常感谢您!

0 投票
3 回答
1324 浏览

c - 为什么我的 while 循环不在 C 中重复?

我刚刚进入C,我遇到了一些麻烦。我花了很长时间弄清楚为什么这个 while 循环不会重复。我在 JavaScript 中做了同样的循环,它重复了正确的输出。http://jsfiddle.net/rFghh/

如果我使用while (cents >= 25),那么终端会打印起始硬币并挂起只是闪烁。如果我使用<=25(如下)它会打印一次迭代。关于我做错了什么有什么想法吗?

0 投票
4 回答
86 浏览

c - 为什么编译器会给我错误未使用的变量 n?

0 投票
1 回答
450 浏览

c - 在 C 中使用 crypt 函数时出现问题

我在 C 中使用 crypt 函数,我在其中给命令行输入一个加密的单词。我使用 /usr/share/dict/words 中的单词并使用 crypt 函数对其进行加密,然后将 crypt 函数的加密输出与命令行输入进行比较。如果单词相同,则我使用 printf 语句将未加密的代码作为输出给出。代码如下。

该代码似乎仅适用于 1 个输入,即当我给出“./a.out 50q.zrL5e0Sak”(不带引号)时。但是,如果我对 crypt 使用任何其他输入,则代码似乎会失败。另一个密码:加密密码的例子是 abaca:50TZxhJSbeG1I。abaca 一词出现在列表中,但无法识别。我无法修复此代码以适用于所有输入。

0 投票
3 回答
305 浏览

c - 我得到“greedy.c:17:1: error: expected identifier or '(' {" 有人可以帮忙吗?它指的是 int main(void) 之后的行

我在编译时收到错误预期标识符'('请帮助。它是第 17 行 int main(void) 之后的行。据我所知,我已经正确地将所有函数括起来。程序必须要求用户进行更改和确定用于找零的最少硬币数量

0 投票
1 回答
76 浏览

c - C:函数在不同的实例中运行不同

我正在关注 iTunes 大学:哈佛 CS50 讲座,以学习编程基础知识。我目前正在尝试为文本密码创建一个程序。这是整个程序的代码。

该程序首先通过插入字符“c”或“d”来询问用户他是想要 Cypher 还是 Decypher,然后运行 ​​cyphmain(如果是密码)或 dcecyphmain(如果是解密)函数。这工作正常

然后程序会询问用户的 rot 编号,然后要求用户输入一个短语。这也很好用。

但是,在输入单词以(de)cypher 后,程序因分段错误而崩溃,这使我相信错误在于 maincalc/dmaincalc 函数。(请注意,每个函数本质上都有两个副本,一个用于加密,另一个用于解密,除了文本中的一些更改以及加密或解密文本所涉及的实际数学之外,它们完全相同)。

这是一个错误的例子

0 投票
1 回答
2155 浏览

c - 在 windows 中导入 C 库

真正的 C 语言基本程序,但出现以下错误:

tcc:错误:未定义的符号“GetFloat”

有什么问题,我该如何解决?我将 cs50.c 和 cs50.h 放在与我的脚本相同的目录中。以下是我的主要文件:

这是cs50.h

最后,这里是 cs50.c

0 投票
2 回答
657 浏览

c - 将内容从一个文件复制到另一个文件,分段错误

我正在尝试从一个大的 .raw 文件中一一复制 50 个 jpeg,但是目前我遇到了分段错误错误。这是我的代码:

当我通过 GDB 运行它时,我的代码一直到 if(block[0] == 0xFF && block 1 == 0xD8),然后它会跳过条件并发生分段错误。我看不出是什么原因造成的。这是一个屏幕截图: 在此处输入图像描述

代码更新:

现在它不会崩溃,但是 50 个 jpeg 中只有 9 个被正确恢复。cs50.h 在那里,所以我可以访问 bool 类型。编写 50 个文件的更好方法是什么?我的布尔值似乎存在逻辑缺陷。

0 投票
1 回答
23985 浏览

c - 当 strlen 产生分段错误时来自 GetString() 的 C 字符串

我在 C 中运行一个程序。当我运行该程序时,我得到一个分段错误错误。在 gdb 中,当我回溯时它告诉我

程序收到信号 SIGSEGV,分段错误。__strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:51 51 movdqu (%edi), %xmm1

我相信这与strlen有关。

我使用 strlen 的唯一时间是:

当我将 strlen 更改为 sizeof 时,错误停止。

我的代码有什么问题?

GetString 的文档

0 投票
2 回答
7270 浏览

c - 在此代码中转换像素

我似乎在一项小型编程任务中遇到了困难。(请不要告诉我如何解决整个问题;我只想知道如何将每个字节设置为红色)。

我的代码如下:

bmp.h 是

注意:我没有 GetString 的代码,但请假设它会以char*.

我遇到的问题是尝试将每个像素的 rgbtRed 值转换为极红色;我不知道该怎么做。请只提供我如何转换 rgbtRed?

更新:拼图

欢迎来到都铎大厦。你的主人,约翰·博迪先生,过早地结束了——他是犯规的受害者。要赢得这场比赛,您必须确定 whodunit。

对您来说很不幸(尽管对 Boddy 先生来说更不幸),您拥有的唯一证据是一个 24 位 BMP 文件,名为线索.bmp,如下图所示,Boddy 先生在他的最后时刻在他的计算机上快速启动了该文件。隐藏在这个文件的红色“噪音”中的是一张 whodunit 的图画。

在此处输入图像描述

你很久以前就扔掉了那块儿时的红色塑料,它可以为你解开这个谜团,所以你必须以计算机科学家的身份来攻击它。