读书人

干Kamp;R C 练习题的几个疑问

发布时间: 2012-09-28 00:03:35 作者: rapoo

做K&R C 练习题的几个疑问。
1 制表符。 知道大概意思,TAB键。但以前没用过,对其内部原理也不太清楚。google了下,似乎也只是强调了下对齐的作用。 求高手解释一下。


2 退格键。 键盘上对应的知道。 但在turbo C 环境下,命令行输入字符串,然后退格键后,是不是输入缓冲区没有存储退格键呢?

有道题是要求把退格键,换成其他字符打印。可判断 c=='\b' ,若缓冲区里就没有,那永远也替换不了啊。


3 c中,有时候我需要声明一个局部变量,是字符型数组。因为声明前,不知道数组需要多大。但c中似乎不支持用变量定义数组大小。查了下,c99好像支持变长数组了。那 c90中,用什么处理较好呢? 我是声明了个足够大的暂时应付了,毕竟那道题目主要考察的不是这点。

[解决办法]
3. malloc
[解决办法]
2.你可以不从缓冲区里取,可以直接等待用户的按键。至于缓冲区里是不是没有退格,我不太清楚,但觉得貌似是的,缓冲区已经是经过处理的了。
[解决办法]
1.Tab在ASCII也无非就是一个字节的数据,在不同的环境中,它们制表位都是不同的,可以8个字符对齐,也可以4个字符对齐。只是具体的环境,他们把tab这个ASCII码描画成了“大小不同的空格”而已,而具体多大,取决于当时光标所处的横坐标,通过计算,可以知道距离下一个制表位,需要多少个空格,显示出来吧!
[解决办法]
3.用关键字new动态定义数组。
如:
int N;
int* a=new int[N];
[解决办法]
c 中实际上没有基本的输入输出函数,是建立在 unix 上的,最终个人认为依赖 os

读书人网 >C语言

热点推荐