我正在寻找创建 64k大小的有点随机字符串的方法。
但是我也希望这个速度快。我已经尝试了以下方法:
A) 从/dev/随机读取 -- 这太慢了
B) 呼叫r.
我试图在邻接列表表示中保存一个图,因此,我为此目的使用指针。编写整个代码片段并不富有成效,因此我正在编写代码sni.
为什么我得到的答案是 “奇怪” 而不是 “偶数”?
# Include <stdio.h>
# 定义奇数 (x) x % 2?0:1
Int main()
{
Int a = 5;
If (ODD(a + 1))
Printf (“偶数”);
其他
Printf ("odd.
可能重复:
有人能解释这些未定义的行为吗 (i = i i,i = i等…)
# Include <stdio.h>
# Include <conio.h>
# Define SQ(x) x * x
空主 ()
{
我.
我正在尝试在C (GCC 4.6.3,x86 (64 位CPU),Ubuntu 12.04 64 位) 中进行一些程序集调用,以零出寄存器值并设置堆栈指针,并最终调用跳转指令。
这是.
我实际上完全卡住了,我不明白这个函数的行为:
# Include <stdio.h>
Typedef struct s_resolution
{
Int x;
Int y;
Float fx;
Float fy;
} T_resolution;
我正在研究一个函数,基本上可以看到两个int中的哪一个更大。传递的参数是 2 个 32 位整数。诀窍是唯一允许的操作员是!~ | & <.
我正在尝试将 68000 处理器的可执行文件反编译到C代码中,用C函数逐个替换原来的子程序。
我面临的问题是,我不知道如何使gcc.
Switch语句实际上比if语句快吗?
我用/Ox标志在Visual Studio 2010 的x64 C编译器上运行下面的代码:
# Include <stdlib.h>
# Include <stdio.h>
# 包括……
我想知道关于堆栈区域上的运行时内存分配以及它与堆区域上的运行时内存分配有何不同。
我知道如何通过使用库函数来分配内存。
# 包括.
由于它不是强类型,我认为它只是选择了正确的内存大小,并根据参数的类型来解释它。但是float和double都使用 % f,它们的大小不同。
P.S.
我.
我需要表示一个 40 位二进制数。应该使用哪个C数据类型来处理这个?
下面是我的代码和程序输出:
# Include <stdio.h>
Int main()
{
浮动工资;
Printf (“请输入工资:”);
Scanf (“% f”,& 工资);
Printf ("你的工资是: % f \ n",工资);
}
我正在使用数学库中的sqrt() 函数,当我使用-m64 构建 64 位时,我得到了正确的结果,但是当我构建 32 位时,我有非常不一致的行为。
例如,关于 64 位
做.
这两种方法似乎在linux内核代码中被广泛使用。我知道分支预测的基础,但我想知道这两个函数如何影响if() 的操作
考虑一个程序,它使用大量的大致页面大小的内存区域 (例如 64 kb左右),其中每个都是相当短暂的。(在我的特殊情况下,这些是绿色的备用堆栈
在C中,我试图将单变量函数传递到优化例程 (optimization_routine) 中。优化例程将指向单个浮点函数的指针func1ptr作为输入
假设我得到了两个大数字 (定义如下),和
我想通过后退来实现对他们的划分
到x86 可用算术
0008768376 - 1653656387 - 0437673667 - 0123767614 - 1039873878-
这是我的警告。
函数调用中缺少哨兵
我怎样才能移除它。
我正在使用linux和gcc编译器。
这个问题可能有也可能没有副本,尽管我试图找到一个,但每个人的答案似乎都只是指声明/原型。他们指定一个定义voi.
这是这个问题的后续。
我试图避免使用显式typedef通过这样的强制转换将一个数组复制到另一个数组:
# Include <stdio.h>
Int main(void)
{
Int i;
Int.
我正在学习在 http://wiki.osdev.org/Bare_Bones 上制作操作系统的教程。当我尝试使用这个命令链接boot.o和kernel.o时: i686-elf-gcc -T linker.ld -o myos.bin -ffreestanding -.
在C11 标准中,由单个联合中嵌套的结构共享的公共初始序列有以下定义:
6.5.2.3/6
一个特殊的保证是为了简化了……
我正在使用元素数组,其中许多相互引用,我假设在这种情况下使用指针更有效。
但在某些情况下,我需要知道一个元素的索引,我有
我有一个关于如何在if语句中比较字符串的问题。我正在从Python移动到C,比较字符串在Python中很容易,但是在C中我该怎么做呢?
我的程序是:
Printf ("进入.
我想知道在以下两者之间处理哪个更好/更快:
Printf ("% s",foo);
和
For (int i = 0; i < len; i + +)
Printf ('% c',foo[i]);'
我注意到输出并不总是.
我正在使用的阵列是:
Char arr[91][12];
所以我填充我的数组从一个文件使用for循环像这样:
For (i = 0; fgets(arr[i],12,inFile); i ){}
当我想打印任何东西时.
这条线在C中做什么?
Int (* func)();
我从以下程序中提取它应该执行字节代码 (汇编指令转换为相应的字节)
Char co.
在这个C-FAQ中给出了关于序列点;
标准规定;
在上一个和下一个序列点之间,对象的存储值最多应被evalu修改一次.
我正在使用dev c。这是一个愚蠢的程序,要求正确的键来显示文本。这个程序与类型 “int” (只是数字) 完美地工作:
# Include <stdio.h>
# 包括 <coni.
这已经让我发疯好几天了。我不能得到一个数组对齐到 16,如果我声明为静态。
任何帮助都非常感谢。
修订版:
# Include <stdio.h>
# Include <assert.
我有一个const变量在我的嵌入式C程序。它在程序代码中用 0 定义和初始化。它通过链接器脚本放置在一个特殊的ROM区域。可以改变特殊的内容.
我想实现unsigneda整数除法由二的任意幂,四舍五入,有效。所以我想要的,数学上,是天花板 (p/q)0。在C中,strawman实现,其中doe.
我是编程新手,有一个不重要但令人困惑的问题困扰着我。
让我先发布我的代码:
文件 * fp;
Int i;
Fp = fopen("test_data.txt","r");
Printf ("i的地址 = %.
我想创建一个函数,它将用当前日期和时间填充一个结构,例如:
Typedef struct DateAndTime
{
Int年;
Int月;
Int日;
Int小时;
Int minu.
我有一个包含字符串 (char数组) 数组和数组的最大容量的int的结构。
Typedef struct ArrayList
{
Char * * 数组;
Int容量;
}
数组是
我写了一些初始化IDT的代码,它将 32 位地址存储在两个不相邻的 16 位半部。IDT可以存储在任何地方,你通过运行LIDT指令告诉CPU在哪里.
我正在尝试编写自己的系统调用。它只会返回当前时间。我知道我应该做什么的概念,我确实经历了几个这样的链接:
实现一个系统.
我试图在c中做左移位。
Int a = 32;
Printf ("% d \ n",~ 0 << a);
Printf ("% d \ n",~ 0 << 32);
所以我运行 2 printf() 以上,结果是不同的。我使用dev-C + +。.
据我所知,每当程序试图访问未经授权的内存时,都会引发segfault。
下面的代码为p分配一个one-int内存块,然后尝试在某个un.
编译器就是接受这段代码,并将其翻译成机器代码
如何在二进制代码中编译后看到原始的C代码?
Visual Studio的最新版本已经改进了对c99 的支持。最新版VS2017 现在是否支持C99 的全部?
如果没有,C99 还有哪些功能缺失?
我需要getline() 来读取我的浏览器发送到我正在编程的web服务器的请求头。这是getMessage函数,它应该执行该任务:
Char * getMessage(int fd) {
文件 *
<Stdarg.h> 头文件用于使函数接受未定义数量的参数,对吗?
因此,<stdio.h> 的printf() 函数必须使用 <stdarg.h> 接受avariable
可能的重复:
当我们定义一个宏时,do while(0) 有什么用?
为什么有时在C/C宏中存在无意义的do/while和if/else语句?
C多行宏: do/w.
我正在使用这个逻辑:
While ((chase<<( n))< num) ;
其中chase = 1,n = 0 最初,num是我想找到的 2 的幂小于它的值。
循环后I
第一次在这里,我运行Kali linux 64 位,我是一个linux新手和一个新的ASM.所以我在C中拉了一个代码,它工作得非常好.下面是代码:
# Include <stdio.h>
#
我正在做作业。我们得到了一个预编译的二进制文件,我们必须使用gdb来获取汇编转储,遍历数据结构,查看存储在内存中的值等,以便拼图.
给定一个整数typedef:
Typedef unsigned int类型;
或
Typedef无符号长类型;
我有以下代码来反转整数的位:
TYPE max_bit = (TYPE)-1;
Void reverse_int_setup.
可能重复:
C中的整数大小取决于什么?
为什么整数的大小在 16 位编译器上是 2 个字节,在 32 位编译器上是 4 个字节?此外,它与操作系统有什么关系?
Printf (".