c相关内容
我正在参加哈佛大学的MOOC课程。在第一堂课中,我们学习了不同数据类型的变量:int、char等。 我所理解的是main命令(在main函数中)int a = 5在堆栈上保留一定数量的内存字节(大部分为4字节),并将表示5的一系列0和1放在那里。 相同的0和1序列也可能表示某个字符。因此,需要有人跟踪这样一个事实,即为a保留的内存位置中的0和1序列将被读取为整数(而不是字符)。
..
我刚刚开始使用SDL2,我已经有了一个问题。 我想创建一个窗户,并把它涂成红色。 但它仍然是白色的,我不明白为什么。 代码如下: int main (int argc, char** argv) { SDL_Window* pWindow = NULL; pWindow = SDL_CreateWindow("Jeu de la vie", SDL_WINDOWPOS_
..
我在执行一些位操作的C程序时遇到了一些问题。在程序中,我使用一个无符号的long long int变量来表示一个64位地图,每一位代表地图上的一个位置。我需要能够更新这些位(位置),即设置或清除一个位。 为了清除和设置位,我这样做(0是最低有效位): map &= ~(1
..
正如标题所说,我有一个字符(例如00101011),我如何知道其中第一个‘1’位的位置?(在本例中,它是6,如果我们认为最右边的位置是0,则为5)。 我知道循环移位会很有帮助,但有没有更有效的方法呢? 推荐答案 有一些小笼子(正如Codor提到的)可以做得比只做Shift更好,但O(1)中没有。我想到了二进制搜索。 恐怕唯一更有效的方法是专门的处理器指令,就像x86上的bsr指令。
..
我想在arr2数组中存储最大和最小频率的元素如果有多个相同频率的元素,那么这两个元素都应该存储?但它显示的结果是错误的,我找不到错误是什么。有人能帮我这个忙吗。任何形式的帮助都将不胜感激。 #include int main() { int n; scanf("%d", &n); int arr[n];
..
我正在读取一个不断增长的输入文件,并执行一些工作并将信息写入输出文件。我有一些条件来处理这个不断增长的文件。但我在退出循环方面失败了。 FILE *logfile; int main(int argc, char *argv[]) { char *filename; char *logfilename; FILE *infile; char line_buf[255];
..
我正在尝试解决二进制搜索的Spoj问题,但我总是得到“错误的答案”,我看不到我的问题。 以下是我的b搜索函数: int binarySearch(int numbers[], int size, int key) { int start = 0; int end = size - 1; int middle; while(start
..
我正在尝试使用MPI_DataType发送下面的结构,但MPI_Send在发送该结构时崩溃。我想知道如何处理这种情况。以下是我为定义新的MPI数据类型而编写的代码: typedef struct { double x; double y; } vertex; typedef struct { int num_ve
..
两个无符号整数的算术平均值定义为: mean = (a+b)/2 在C/C++中直接实现它可能会溢出并产生错误的结果。正确的实现可以避免这种情况。一种编码方式可能是: mean = a/2 + b/2 + (a%2 + b%2)/2 但这会使用典型的编译器生成相当多的代码。在汇编程序中,这通常可以更高效地完成。例如,x86可以通过以下方式做到这一点(汇编伪代码,我希望您明白这一
..
在Win32系统上播放wav文件需要哪些C库? 使用这些库的代码是什么? 推荐答案 使用Win32API:PlaySound 包含库:Winmm.lib 头部包含:Mmsystem.h(包含Windows.h) 示例: PlaySound(TEXT("recycle.wav"), NULL, SND_FILENAME);
..
免责声明:我只是从C开始,所以我很可能遗漏了一些明显的东西,或者没有正确地思考!:) 我将如何在纯C中使用GDI+? 据我所知,GDI+包装了为C++制作的对象,但在它下面是一个平面API,可以通过gdiplusflat.h访问,这是一个C友好的头文件。 我的问题是,当我#包含它时,我得到以下错误: C:Program Files (x86)Microsoft SDKsWindo
..
我必须创建一个可以执行此任务的函数(Trim函数):获取一个以空结尾的字符串,如果该字符串的第0位有空格,则删除该空格。如果空格在字符串的末尾(在零终止符之前),情况也是一样。因此,该函数基本上忽略了字符串中间的空格。 这是我到目前为止尝试做的事情, (1)我将";a b";字符串传递给Trim函数。 (2)(空指针检查)。 (3)使用strlen函数获取字符串的长度。
..
现在我需要开发一个插件,可以在Ubuntu、CentOS和Fedora上截屏。我试着用Xlib编写它。它可以在Ubuntu和CentOS上运行,但Fedora使用的是Wayland,我开发的插件无法运行。 Gnome截图可以在这些平台上运行,但我看了他的源代码后发现,它可以通过调用其他进程来实现截图,这对我来说是很难学习的。 有什么办法可以在Wayland Engine上截屏吗?
..
我在将数组指定为链表元素时遇到问题。我试着把字符改成字符*但对我没有帮助。我真的很感激你的名字 在这里我创建了一个结构 struct node{ char data; struct node *next; }; 并添加了此函数以添加新节点 void addLast(struct node **head, char val) { //create a new node struct
..
我的项目中几乎每个.c文件都有一个头文件。所有的typedef和函数声明都放在头文件中。但这是一种好的做法吗?某些typedef仅在一个.c文件中使用。此外,某些函数未被其他源文件中的函数调用。 推荐答案 #include是一个预处理步骤,因此您可以在其中插入任何内容。这在很大程度上是一个风格问题,但将对命名空间的影响降到最低是很好的编程实践。(通常)使用头文件允许PUBLIC和PRI
..
我有一个用于测试的C程序:a.c int a = 0; static int fa_local() { a = 78; int b; int c; } int fa_global() { a = 7777; fa_local(); } int test() { a = 6666; fa_global(); } 这是生成后的
..
我尝试了gdiScaling和dpiAware的所有可能组合,但仍未成功。 如果我手动右击app.exe,并将“覆盖高DPI缩放”设置为“系统(增强)”,它将工作得很好。
..
如何在C中读取Enter键作为输入?我想要这样的节目: "Please enter a key to go to next line" 如何在C中添加此类型的选项? 我是编程新手。 推荐答案 您可以使用stdio.h中的getc函数等待,直到按下某个键。此C代码将等待按Enter键,然后输出&继续!: #include int main(){
..
在C DLL中,我有一个如下所示的函数: char* GetSomeText(char* szInputText) { char* ptrReturnValue = (char*) malloc(strlen(szInputText) * 1000); // Actually done after parsemarkup with the proper length
..
如何使用Win32 API将保存为&.bmp&qot;文件的缓冲区复制到剪贴板?也就是说,我有一个Windows V3位图(包括标题)的原始缓冲区,我可以从字面上write()将其复制到一个文件,并将生成一个有效的.BMP文件,但我想将其复制到剪贴板。 在OS X上,用纯C语言编写的代码如下所示(按预期运行): #include
..