-
如果问题并不是那么简单, 那么回想一下, 电脑一般都是用一种浮点的格式来近似的模拟实数的运算, 注意是近似, 不是完全。
下溢、误差的累积和其它非常规性是常遇到的麻...
-
为了把printf() 的正确原型说明引入作用域。对于用可变参数的函数, 编译器可能用不同的调用次序。
例如, 如果可变参数的调用比固定参数的调用效率...
-
这一段信息不可移植。
一些旧系统提供一个非标准函数nargs()。
然而它的可信度值得怀疑, 因为它的典型返回值是参数的字节长度, 而不是参数的个数...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va start()。
所以编译器不会接受下面...
-
许多地方有可能出错。
下面是一些通常的检查要点:1、未初始化的局部变量, 参见问题7.1。2、整数上溢, 特别是在一些16 比特的机器上...
-
K&R 提供了最常被抄袭的实例, 同时他并不要求大家沿用他的风格:大括号的位置并不重要, 尽管人们对此有着执着的热情。
我们在几种流行的风格中选了一种。
选一个适合你的...
-
要做到可靠而可移植的检验出乎意料的困难。
如果从你检验到你打开文件前,这个文件被(别的进程) 生成或删除了, 所做的任何检验都会失效。
三个可能用作检验的函数是stat(), ...
-
如果文件大小指的是你从C 程序中可以读进的字符数量, 要得到这个精确的数字可能困难或不可能。
Unix 系统函数stat() 会给出准确的答案。
有...
-
问题:
为什么用了详尽的路径还不能打开文件? fopen("c:\ newdir\file.dat", "r") 返回错误。
你实际请求的文件名内含有字符nn 和nf, 可能并...
-
试试能否使用opendir() 和readdir() 函数, 它们是POSIX 标准的一部分, 大多数Unix 变体都支持。
MS-DOS, VMS 和其它系统下也...
-
一台合理的电脑应该可以让你透明地访问所有的有效内存。
如果, 你很不幸, 你可能需要重新考虑程序使用内存的方式, 或者用各种针对系统的技巧。
64K 仍然是一块相当大的内存。
...
-
很不幸, 这没有可移植解决方法。
下面是一些你可以在你的系统中寻找的函数:
clock(), delay(), ftime(), getimeofday(), msleep()...
-
基本步骤是调用signal():
#include <signal.h>
singal(SIGINT, SIG_IGN);
就可以忽略中断信号, 或者:
ext...
-
“不能使用非标准、依赖系统的函数,程序需要兼容ANSI!”
你很不走运。
要么你误解了要求, 要么这不可能做到。
ANSI...
-
我似乎不能成功定义一个链表。我试过typedef struct { char*item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言中...
-
它可以用作一种格式上的提示表明函数的定义可能在另一个源文件中,
但在
extern int f();
和...
-
首先, 尽管一个全局变量或函数可以(在多个编译单元中) 有多处“声明”, 但是“定义” 却只能允许出现一次。
定义是分配空间并赋初...
-
用<stdarg.h>提供的辅助设施。
下面是一个把任意个字符串连接起来的函数, 结果存在malloc 的内存中:
#include <stdlib.h>...
-
许多实现高质量IEEE 浮点的系统会提供简洁的工具去处理这些特殊值。
例如, 在<math.h> 以非标准扩展功能, 或可能以<ieee.h>...
-
大多数电脑都是用二进制来表示浮点和整数的。
在十进制里, 0.1 是个简单、精确的小数,
但是用二进制表示起来却是个循环小数0.000110011...