-
问题:
因为在C 语言中所有的非零值都被看作“真”, 是不是把TRUE 定义为1 很危险?
如果某个内置的函数或关系操作符“返回&rdquo...
-
对于这个问题没有什么好的答案。
如果这两个值是整数, 可以使用异或的技术, 但是这对浮点值或指针却不行, 对同一个值也无能为力。
(参见问题3.4和...
-
通常的目标是书写一个象包含一个单独的函数调用语句的宏。
这意味着“调用者”需要提供最终的分号, 而宏体则不需要。
因此宏体不能为简单的括弧包围的复合语句...
-
根据“缺少的” 头文件的种类, 有几种情况。
如果缺少的头文件是标准头文件, 那么你的编译器有问题。
你得向你的供货商或者精通你的编译器的人求助。
对...
-
有些ANSI 前的编译器/预处理器把下面这样的宏
#define TRACE(var, fmt) printf("TRACE: var = fmt\n", var)
解释为
...
-
确保你知道经典的正则表达式和文件名通配符的不同。
前者的变体在Unix工具ed 和grep 等中使用, 后者的变体在多数操作系统中使用。
有许多匹配正则表达式的包可以利用。
...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va start()。
所以编译器不会接受下面...
-
这些功能跟你所用的终端类型(或显示器) 有关。
你需要使用termcap, terminfo 或curses 类的函数库, 或者系统提供的特殊函数。
...
-
要做到可靠而可移植的检验出乎意料的困难。
如果从你检验到你打开文件前,这个文件被(别的进程) 生成或删除了, 所做的任何检验都会失效。
三个可能用作检验的函数是stat(), ...
-
一台合理的电脑应该可以让你透明地访问所有的有效内存。
如果, 你很不幸, 你可能需要重新考虑程序使用内存的方式, 或者用各种针对系统的技巧。
64K 仍然是一块相当大的内存。
...
-
这有可能完全做不到。
不同的系统使用不同的方法来实现像Unix 系统的全局名字/值功能。
环境是否可以被运行的进程有效的改变, 以及如果可以, 又怎...
-
“不能使用非标准、依赖系统的函数,程序需要兼容ANSI!”
你很不走运。
要么你误解了要求, 要么这不可能做到。
ANSI...
-
这取决于你要做什么。
如果你希望丢掉调用scanf() (参见问题12.16 - 12.17)之后所剩下的换行符和未预知的输入, 你可能需要重写你的scanf() ...
-
1 对sizeof 的理解:
例子1:
void main()
{
int a = 2;
...
-
看代码先,下面的讲解都是针对这篇代码:
#include <iostream>#include <string>using namespace std;
...
-
1.数组方式实现 (不用字符串函数)程序如下
void ReverseByArray(char * s){ int len =...
-
1、局部变量能否和全局变量重名?
答:能,局部会屏蔽全局。要用全局变量,需要使用"::"
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全...
-
今天再次遇到一个C语言的细节问题,并且发现自己以前的理解不正确,然后总结了一下,写出本文。请看下面的代码:
#include <s...
-
开发过程中遇到负数short强制转换为int出错,遂细细琢磨了一下。
1,C语言移位操作
正数左移,右侧补充零。正数右移,左侧补充零。
负数左移,右侧补充零。负数...
-
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。
一、概念
对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数...