-
问题:
我发现如果坚持检查返回值以确保用户输入的是我期待的数值, 则 Scanf() 的使用会安全很多, 但有的时候好像会陷入无限循环。在Scanf() 转换数字的时候, 它遇到...
-
Scanf() 有很多问题&mdaSh;&mdaSh; 参见问题12.15, 12.16 和12.17。
而且, 它的%S 格式有着和getS() 一样的问题(参见问题12.20...
-
Strncpy() 最初被设计为用来处理一种现在已经废弃的数据结构&mdaSh;&mdaSh;定长, 不 必&rSquo;n0&rSquo; 结束的“字符串&rdquo...
-
确保你知道经典的正则表达式和文件名通配符的不同。
前者的变体在Unix工具ed 和grep 等中使用, 后者的变体在多数操作系统中使用。
有许多匹配正则表达式的包可以利用。
...
-
问题:我想用Strcmp() 作为比较函数, 调用qSort() 对一个字符串数组排序, 但是不行。你说的“字符串数组” 实际上是“字符指针数组...
-
问题:
我想用qSort() 对一个结构数组排序。
我的比较函数接受结构指针,但是编译器认为这个函数对于qSort() 是错误类型。
我要怎样转换这个函数指针才能避免这样的警...
-
只要使用函数time(), ctime(), localtime() 和/或Strftime() 就可以了。
下面是个简单的例子:
#include <Stdio.h&g...
-
ANSI/ISO 标准C 函数mktime() 和difftime() 对这两个问题提供了一些有限的支持。
mktime() 接受没有规格化的日期, 所以可以用一个日期的Stru...
-
标准C 库函数就有一个: rand()。
你系统上的实现可能并不完美, 但写一个更好的并不是一件容易的事。如果你需要实现自己的随机数生成器, 有许多这方面的文章可供参考; 象下面...
-
直接的方法是Span>rand() % N /* 不好*/Span>试图返回从0 到N ¡ 1 的数字。Span>
但这个方法不好, 因为许多随机数发生器...
-
你可以调用Srand() 来初始化模拟随机数发生器的种子, 用的值可以是真正随机数或至少是个变量, 例如当前时间。
这儿有个例子:#include <Stdlib.h>...
-
如果问题并不是那么简单, 那么回想一下, 电脑一般都是用一种浮点的格式来近似的模拟实数的运算, 注意是近似, 不是完全。Span>
下溢、误差的累积和其它非常规性是常遇到的麻...
-
为了把printf() 的正确原型说明引入作用域。Span>对于用可变参数的函数, 编译器可能用不同的调用次序。Span>
例如, 如果可变参数的调用比固定参数的调用效率...
-
这一段信息不可移植。Span>
一些旧系统提供一个非标准函数nargS()。Span>
然而它的可信度值得怀疑, 因为它的典型返回值是参数的字节长度, 而不是参数的个数...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va Start()。
所以编译器不会接受下面...
-
“程序在执行前崩溃,用调试器单步跟进,在main()之前死了”Span>
也许你定义了一个或多个非常大的局部数组(超过上千字节)。Span>
许...
-
许多地方有可能出错。Span>
下面是一些通常的检查要点:Span>1、未初始化的局部变量, 参见问题7.1。Span>2、整数上溢, 特别是在一些16 比特的机器上...
-
问题:
“Segmentation violation”, “BuS error” 和“General protect...
-
K&R 提供了最常被抄袭的实例, 同时他并不要求大家沿用他的风格:大括号的位置并不重要, 尽管人们对此有着执着的热情。
我们在几种流行的风格中选了一种。
选一个适合你的...
-
这些功能跟你所用的终端类型(或显示器) 有关。Span>
你需要使用termcap, terminfo 或curSeS 类的函数库, 或者系统提供的特殊函数。Span>
...