• C更改变量和数组值

    最初的代码a [0]变为31,而第二个代码仍为55。有人可以解释一下我的区别吗?在函数中更改变量和数组的值有什么区别? #include <stdio.h> int h(int x[]); int main() { printf("Hello, World!\n"); int a[0] = 55; h(a); printf("%d", a[0]); return 0; } int h(int x[]) { x[0] = 31; } #inclu...
  • 什么时候应该使用动态内存分配?

    我正在学习有关c中的malloc,calloc,free和realloc的信息,但是当我应该使用这些功能时,却没有得到它, 例如:如果我想在c中创建一个创建数组的程序,其大小由用户输入确定 int n; printf("Enter THe Number of element in Array:..\n"); scanf("%d",&n); int x[n]; for(int i = 0 ; i < n ; i++) { x[i] = i+ 1; } ...
  • WinApi CreateFileW()在lpFileName上引发异常

    file = CreateFile(L"../../../res/Localisation/Template.txt", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 如果我键入上面代码中显示的路径。该文件将在指定的路径处创建,但是在创建后,它将立即引发异常。 L"Template.txt" 但是,如果我用它替换路径名,那么一切都会正常。
  • 一个C函数,将数字按升序插入到链表中

    这是我的功能: void IntListInsertInOrder (IntList L, int v) { struct IntListNode *n = newIntListNode (v); if (L->first == NULL) { //case a, empty list L->first = L->last = n; L->size ++; return; } else if (v <= L->first->da...
  • 何时以及如何评估指针算法?

    我一直认为指针算法是理所当然的。但是有时候它会困扰我,什么是编译器准确执行?何时对其进行评估?考虑下面的程序: #include <stdio.h> #include <stdlib.h> int prng(void); int main() { int x = prng(); // Pseudo Random Generator. int (*a)[x]; a = malloc(sizeof(int) * 2 * x); // Allocate 2 rows of x...
  • 在C中从Pipe读取

    我有一个程序从随机访问文件中读取,并返回文件中最小和最大的数字。一个要求是,这是通过使用fork()的4个过程并将结果通过管道传递完成的。我将文件分为4个块,并让每个进程评估文件的一个块。我找到每个块的最大值和最小值,并将它们写入管道。最后,我将比较管道值并找到最大和最小的值。 当管道返回-1时,我无法读取管道。对我在做什么错有任何见解?谢谢! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #in...
  • Visual Studio代码:错误在C中包含外部标头

    编程的新手,实际上是在C上的开放课堂教程之后进行的,我发现自己陷于其中,其中包括外部标题部分。我使用的是IDE,我使用的是Visual Studio Code,可以切换到IDE,但是应该可以并且在简单的文本编辑器中做到这一点并不困难,所以我想了解如何实现。 运行程序时的错误代码: main.c:6:10: fatal error: 'level.h' file not found #include "level.h" ^~~~~~~~~ 1 error generated. Here's...
  • 当从以32位二进制big endian编码的文件中读取IEEE-754浮点数时,为什么会失去精度?

    我用纯C语言重写了一些Matlab文件处理代码,并且实现了以下功能,该功能将从二进制大尾数编码文件中读取4个字节,该文件应表示ieee-754单精度浮点值。我验证了我可以使用以下代码将相关的32位数据作为无符号整数从文件中拉出。 int fread_uint32_be(uint32_t *result, FILE ** fp) { uint8_t data[sizeof(uint32_t)]; if (!result || !*fp || sizeof(uint32_t) != fread(...
  • Pset 1(Mario Less Hard)

    这个程序不会运行,只是询问高度,然后什么都没有。当我运行50时,它指示我输入foo和其他a值,所以我用scanf替换了printf,一切都停止了工作。 还可以有人指导我如何使该程序不断要求高度在2到8之间,直到它是真的吗?截至目前,它发出一条消息,输入2到8之间的一个数字,然后停止。 int main() { int height; do { height =get_int("Height: "); scanf("%d", &height); ...
  • 解释从PC接收的命令以控制微控制器LED

    我不确定如何编写一个可以解释命令的函数 从PC收到。 命令的语法如下:leds -1 + 4〜3 + 2 命令的前5个字符必须始终为“ leds”。一个数字表示相应的LED编号(1-4)。前导加号(+)表示此LED已打开,负号(-)表示已关闭,而代字号(〜)表示该LED已切换一次。 我知道如何在一个单独的语句中定义led是否打开/关闭,但是我不知道如何创建某种循环或程序读取数字和前导符号并知道对应于哪个led以及处于什么状态的东西放入 该代码应在c中。
  • C程序彩票

    我有以下指示的作业: 该程序要求学生编写一个C程序,该程序将生成一年的000到999之间的3位数彩票号码。程序开始时,将要求用户购买一年的彩票。每张票的价格为1.00美元。用户将提供他或她喜欢的号码。购买的每张票都具有与用户提供的完全相同的号码。该程序将输出用户的彩票与彩票中的每日号码相匹配的次数。每次用户击中彩票,他或她都会赢得$ 500.00。 最终输出将是用户在过去一年中抽中彩票的次数。该程序将计算并显示一年后用户所拥有的金额。 我觉得我缺少某些东西或程序编写不正确 提前致谢 这是我的代码 Hello...
  • CS50 MARIO更舒适的错误

    CS50马里奥(更舒适) 如果看到输出,则右侧的行会少一些,但左侧的思路和代码相同。不管输入了什么,右侧总是比左侧少一行 ... #include<stdio.h> #include<cs50.h> int main(void) { int n; do { n = get_int(" Height: "); } while(n < 1 || n > 8); for(int i = 0; i < n; i++) { ...
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。