-
直接的方法是AN>rANd() % N /* 不好*/AN>试图返回从0 到N ¡ 1 的数字。AN>
但这个方法不好, 因为许多随机数发生器...
-
你可以调用srANd() 来初始化模拟随机数发生器的种子, 用的值可以是真正随机数或至少是个变量, 例如当前时间。
这儿有个例子:#include <stdlib.h>...
-
如果问题并不是那么简单, 那么回想一下, 电脑一般都是用一种浮点的格式来近似的模拟实数的运算, 注意是近似, 不是完全。AN>
下溢、误差的累积和其它非常规性是常遇到的麻...
-
为了把printf() 的正确原型说明引入作用域。AN>对于用可变参数的函数, 编译器可能用不同的调用次序。AN>
例如, 如果可变参数的调用比固定参数的调用效率...
-
这一段信息不可移植。AN>
一些旧系统提供一个非标准函数nargs()。AN>
然而它的可信度值得怀疑, 因为它的典型返回值是参数的字节长度, 而不是参数的个数...
-
“程序在执行前崩溃,用调试器单步跟进,在main()之前死了”AN>
也许你定义了一个或多个非常大的局部数组(超过上千字节)。AN>
许...
-
许多地方有可能出错。AN>
下面是一些通常的检查要点:AN>1、未初始化的局部变量, 参见问题7.1。AN>2、整数上溢, 特别是在一些16 比特的机器上...
-
问题:
“Segmentation violation”, “Bus error” 和“General protect...
-
K&R 提供了最常被抄袭的实例, 同时他并不要求大家沿用他的风格:大括号的位置并不重要, 尽管人们对此有着执着的热情。
我们在几种流行的风格中选了一种。
选一个适合你的...
-
这些功能跟你所用的终端类型(或显示器) 有关。AN>
你需要使用termcap, terminfo 或curses 类的函数库, 或者系统提供的特殊函数。AN>
...
-
terminfo, 某些版本的termcap, 以及某些版本的curses 函数库有对这些非ASCII 键的支持。AN>
典型的, 一个特殊键会发送一个多字符序列(通常以...
-
如果文件大小指的是你从C 程序中可以读进的字符数量, 要得到这个精确的数字可能困难或不可能。AN>
Unix 系统函数stat() 会给出准确的答案。AN>
有...
-
试试能否使用opendir() 和readdir() 函数, 它们是POSIX 标准的一部分, 大多数Unix 变体都支持。AN>
MS-DOS, VMS 和其它系统下也...
-
Unix 和其它一些系统提供了popen() 函数, 它在联通运行命令的进程管道设置了stdio 流, 所以输出可以被读取(或提供输入)。AN>
记住, 结束使用后, 要...
-
这有可能完全做不到。AN>
不同的系统使用不同的方法来实现像Unix 系统的全局名字/值功能。AN>
环境是否可以被运行的进程有效的改变, 以及如果可以, 又怎...
-
很不幸, 这没有可移植解决方法。
下面是一些你可以在你的系统中寻找的函数:
clock(), delay(), ftime(), getimeofday(), msleep()...
-
“不能使用非标准、依赖系统的函数,程序需要兼容ANSI!”
你很不走运。AN>
要么你误解了要求, 要么这不可能做到。AN>
ANSI...
-
它可以用作一种格式上的提示表明函数的定义可能在另一个源文件中,AN>
但在AN>
extern int f();AN>
和...
-
首先, 尽管一个全局变量或函数可以(在多个编译单元中) 有多处“声明”, 但是“定义” 却只能允许出现一次。
定义是分配空间并赋初...
-
用vprintf(), vfprintf() 或vsprintf()。AN>
下面是一个error() 函数, 它列印一个出错信息, 在信息前加入字符串“er...