-
标准C 库函数就有一个: rand()。
你系统上的实现可能并不完美, 但写一个更好的并不是一件容易的事。如果你需要实现自己的随机数生成器, 有许多这方面的文章可供参考; 象下面...
-
直接的方法是rand() % N /* 不好*/试图返回从0 到N ¡ 1 的数字。
但这个方法不好, 因为许多随机数发生器...
-
如果问题并不是那么简单, 那么回想一下, 电脑一般都是用一种浮点的格式来近似的模拟实数的运算, 注意是近似, 不是完全。
下溢、误差的累积和其它非常规性是常遇到的麻...
-
这一段信息不可移植。
一些旧系统提供一个非标准函数nARgs()。
然而它的可信度值得怀疑, 因为它的典型返回值是参数的字节长度, 而不是参数的个数...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va stARt()。
所以编译器不会接受下面...
-
这些功能跟你所用的终端类型(或显示器) 有关。
你需要使用termcap, terminfo 或curses 类的函数库, 或者系统提供的特殊函数。
...
-
terminfo, 某些版本的termcap, 以及某些版本的curses 函数库有对这些非ASCII 键的支持。
典型的, 一个特殊键会发送一个多字符序列(通常以...
-
从前, Unix 下有一套相当不错且小巧的设备独立的绘制函数(plot(3) 和plot(5))。
由Robert Maier 写的GNU libplot 函数库保持了同样的精神...
-
如果文件大小指的是你从C 程序中可以读进的字符数量, 要得到这个精确的数字可能困难或不可能。
Unix 系统函数stat() 会给出准确的答案。
有...
-
一台合理的电脑应该可以让你透明地访问所有的有效内存。
如果, 你很不幸, 你可能需要重新考虑程序使用内存的方式, 或者用各种针对系统的技巧。
64K 仍然是一块相当大的内存。
...
-
Unix 和其它一些系统提供了popen() 函数, 它在联通运行命令的进程管道设置了stdio 流, 所以输出可以被读取(或提供输入)。
记住, 结束使用后, 要...
-
这有可能完全做不到。
不同的系统使用不同的方法来实现像Unix 系统的全局名字/值功能。
环境是否可以被运行的进程有效的改变, 以及如果可以, 又怎...
-
很不幸, 这没有可移植解决方法。
下面是一些你可以在你的系统中寻找的函数:
clock(), delay(), ftime(), getimeofday(), msleep()...
-
“不能使用非标准、依赖系统的函数,程序需要兼容ANSI!”
你很不走运。
要么你误解了要求, 要么这不可能做到。
ANSI...
-
我似乎不能成功定义一个链表。我试过typedef struct { chAR*item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言中...
-
用vprintf(), vfprintf() 或vsprintf()。
下面是一个error() 函数, 它列印一个出错信息, 在信息前加入字符串“er...
-
用<stdARg.h>提供的辅助设施。
下面是一个把任意个字符串连接起来的函数, 结果存在malloc 的内存中:
#include <stdlib.h>...
-
浮点数的定义决定它的绝对精确度会随着其代表的值变化, 所以比较两个浮点数的最好方法就要利用一个精确的阈值。
这个阈值和作比较的浮点数值大小有关。
...
-
直接做不到这点。
但是你可以写出你自己的printf 变体, 把所有的内容都输出两次。
下边有个简单的例子:
#include <stdio.h>
#inclu...
-
这取决于你要做什么。
如果你希望丢掉调用scanf() (参见问题12.16 - 12.17)之后所剩下的换行符和未预知的输入, 你可能需要重写你的scanf() ...