• 从字符串中获取第二个单词

    我是C语言的新手,我试图将一个字符串的每个第二个单词打印到另一个字符串。 到目前为止,Ive制作了一个在原始数组中具有空格位置的数组,Im试图检查原始数组的位置是否为空格。如果是空间,则该空间的位置可被2整除,并且余数为1(因为我的第一个空间在原始数组中的位置0)。如果所有检查都正确,则将原始数组的字符写入下一个空格(i + 1处的空格数组)到结果数组中。但是当我试图打印结果数组时,什么都没有显示-好像它是空的。 哦,我只能使用fputc,fgetc,fopen,fclose。 我很确定有一个更简单的方法,...
  • C文字和溢出

    在我的机器上,一个int是32位,下面的代码: int64_t m = (int64_t) 1 << 60; int64_t n = (int64_t) 2048 * 2048 * 2048; 即使标准似乎说1和2048应该用“ int”表示,也给出2 ^ 60和2 ^ 33的数学预期结果。我应该将该结果视为幸运,还是C99标准保证我不会溢出。 谢谢你的帮助, 弗朗索瓦
  • 在C语言中使用除法查找GCD

    所以我想写一个函数使用Divison方法计算两个数字的Gcd或HCF,这是我的代码: #include <stdio.h> #include <stdlib.h> void gcd(int x, int y) { int g,l; if (x >= y) { g = x; l = y; } else { g = y; l = x; } while (g % l != 0) ...
  • 试图了解C中的内存分配

    On my machine sizeof(char) == 1, sizeof(int) == 4 and sizeof(char*) == 8 #include <stdio.h> #include <stdlib.h> typedef struct person{ char *name; int age; }Person; int main() { printf("sizeof(Person): %d\n", sizeof(Person)); //-> 16 bytes ...
  • 将二维数组作为参数发送给函数时,将打印垃圾值

    我写的这个程序是在满足条件的情况下将任何种类的矩阵相乘 大部分代码仅用于输入功能,而该功能需要输入的部分似乎是麻烦所在, 无法获得正确的结果,也无法在结果矩阵中获得垃圾值。 #include<stdio.h> #include<math.h> void multiply(int,int,int,int,int [][100],int [][100]); void main() { int i,j,e; int m,n,p,q; int a[m][n],b[p][q]; pri...
  • 如何处理c中的结构?

    我正在关注如何在c中创建简单的sqlite克隆的教程,并提到了构建名为Row的结构的定义,其定义如下: typedef struct { int id; char name[COLUMN_USERNAME_SIZE]; char email[COLUMN_EMAIL_SIZE]; }Row; 并且它被定义了一个预处理器宏来获取该结构的成员的大小,但我不明白其定义。它的定义如下: #define size_of_attribute(Struct, Attribute) sizeof(((Struct*)0...
  • 如何在对话框的右侧排列一组按钮?

    如何在对话框的右侧排列一组按钮? 下面是示例源代码,但无法正常工作: #include <stdlib.h> #include <stdio.h> #include <iup.h> int main(int argc, char **argv) { IupOpen(&argc, &argv); Ihandle *lbl_center = IupLabel("center label text"); IupSetAttribute(lbl_center, "ALIGNMENT", "ACENTER"); ...
  • 二维字符串数组获取连续的列数,除法错误

    我在这里有问题。我无法获得一行2D字符串数组中有多少个指针。错误提示: “ sizeof(char **)/ sizeof(char *)”除法不计算 数组元素的数量[-Werror = sizeof-pointer-div] 我知道我们需要做些什么来获取数字,但是以某种方式我无法分割字节:/。 #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { cha...
  • 进程退出并返回值322125477

    我正在尝试做作业,但我真的不知道为什么我的代码不能持续几个小时。 我在这里要做的只是读取文件并将其保存到结构中。我想阅读学生的身份证,类型和成绩。我正在尝试将成绩保存到struct的动态数组中。 这是我的代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma warning(disable: 4996) typedef struct student { int studentID; char type; ...
  • 如何检查数组中元素的位置?

    我有结构 struct timer_t; 以及这些计时器结构的数组 timer_t timer[6]; 我还有一个回调函数,将数组元素作为参数。 void timer_callback(timer_t *timer) { //how can I check which position of the timer_t timer[6] is? } 如您在代码中看到的,我的问题是如何获取元素在数组中的位置? 需要知道数组的哪个元素是* timer。 谢谢。
  • 如何在C中将十六进制转换为十进制?

    因此,根据我在C语言方面的初学者经验,我一直在尝试编写将数组的十六进制输入转换为十进制的代码。我相信您可以通过查看我的代码来获得更多,但是它不能正常工作。 #include <stdio.h> int main() { int i, k, j, N, power, result; char array[50]; result = 0; printf("how many charecters are there in your hexadecimal input?:...
  • 如何避免电脑选择相同的号码?

    如果我有这样的数组 int numbers[10] = {1,1,3,3,5,5,7,7,8,8}; 我想随机选择一个 i = numbers[rand()% 10]; 在此示例中,我如何避免PC选择相同的号码两次以上。因为就像您在数组中看到的一样,相同的数字重复了2次。因此,例如,我希望数字8只选择两次,其他数字相同。 我知道我可以做一些事情,例如将一个元素标记为“已删除”,例如,将其设置为0,然后如果选择的数字已删除,则再次选择。但是我不知道该怎么做,所以如果有人可以帮助我,我将非常感激。
  • 从文件c读取

    我正在研究一个预订项目,因此项目的想法是在程序启动时应从名为databook的文件中读取数据并将其保存在struct上,并且每次我添加一本书时都应将其添加到程序中 我很难找到名称,名字和昵称之间有一个空格,所以我使用了scanf,但是问题是scanf没读完整的行,我使用了scanf(“%[^ \ n] s”,),但它不起作用 下面的源代码让更多的东西蒙混了 #include <stdlib.h> #define MAX_ARRAY_SIZE 5 typedef struct Book { cha...
公告

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

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

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