-
问题:
我的程序总是崩溃, 显然在malloc 内部的某个地方。
但是我看不出哪里有问题。
是malloc() 有bug 吗?很不幸, malloc 的内部数据结构很容易被破...
-
字符和字符串的区别显而易见, 而strcat() 用于连接字符串。
C 中的字符用它们的字符集值对应的小整数表示, 参见下边的问题8.4。
字符串用...
-
尽管这是种常见的需求, 但却没有什么标准的办法。
gcc 提供了和-E 一起使用的-dM 选项, 其它编译器也有类似的选项。
如果编译器文档没有帮助...
-
scanf() 有很多问题—— 参见问题12.15, 12.16 和12.17。
而且, 它的%s 格式有着和gets() 一样的问题(参见问题12.20...
-
问题:
我想用qsort() 对一个结构数组排序。
我的比较函数接受结构指针,但是编译器认为这个函数对于qsort() 是错误类型。
我要怎样转换这个函数指针才能避免这样的警...
-
只要使用函数time(), ctime(), localtime() 和/或strftime() 就可以了。
下面是个简单的例子:
#include <stdio.h&g...
-
ANSI/ISO 标准C 函数mktime() 和difftime() 对这两个问题提供了一些有限的支持。
mktime() 接受没有规格化的日期, 所以可以用一个日期的stru...
-
直接的方法是rand() % N /* 不好*/试图返回从0 到N ¡ 1 的数字。
但这个方法不好, 因为许多随机数发生器...
-
你可以调用srand() 来初始化模拟随机数发生器的种子, 用的值可以是真正随机数或至少是个变量, 例如当前时间。
这儿有个例子:#include <stdlib.h>...
-
如果问题并不是那么简单, 那么回想一下, 电脑一般都是用一种浮点的格式来近似的模拟实数的运算, 注意是近似, 不是完全。
下溢、误差的累积和其它非常规性是常遇到的麻...
-
为了把printf() 的正确原型说明引入作用域。对于用可变参数的函数, 编译器可能用不同的调用次序。
例如, 如果可变参数的调用比固定参数的调用效率...
-
“程序在执行前崩溃,用调试器单步跟进,在main()之前死了”
也许你定义了一个或多个非常大的局部数组(超过上千字节)。
许...
-
许多地方有可能出错。
下面是一些通常的检查要点:1、未初始化的局部变量, 参见问题7.1。2、整数上溢, 特别是在一些16 比特的机器上...
-
问题:
“Segmentation violation”, “Bus error” 和“General protect...
-
这些功能跟你所用的终端类型(或显示器) 有关。
你需要使用termcap, terminfo 或curses 类的函数库, 或者系统提供的特殊函数。
...
-
terminfo, 某些版本的termcap, 以及某些版本的curses 函数库有对这些非ASCII 键的支持。
典型的, 一个特殊键会发送一个多字符序列(通常以...
-
如果文件大小指的是你从C 程序中可以读进的字符数量, 要得到这个精确的数字可能困难或不可能。
Unix 系统函数stat() 会给出准确的答案。
有...
-
试试能否使用opendir() 和readdir() 函数, 它们是POSIX 标准的一部分, 大多数Unix 变体都支持。
MS-DOS, VMS 和其它系统下也...
-
一台合理的电脑应该可以让你透明地访问所有的有效内存。
如果, 你很不幸, 你可能需要重新考虑程序使用内存的方式, 或者用各种针对系统的技巧。
64K 仍然是一块相当大的内存。
...
-
我似乎不能成功定义一个链表。我试过typedef struct { char*item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言中...