更新时间:2022-09-24 07:47:32
本节书摘来自异步社区《C和指针》一书中的第1章,第1.7节,作者 【美】Kenneth A.Reek,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.C是一种***形式的语言,也就是说并没有规则规定它的外观究竟应该怎样[9]。但本章的例子程序遵循了一定的空白使用规则。你对此有何想法?
2.把声明(如函数原型的声明)放在头文件中,并在需要时用#include指令把它们包含于源文件中,这种做法有什么好处?
3.使用#define指令给字面值常量取名有什么好处?
4.依次打印一个十进制整数、字符串和浮点值,你应该在printf函数中分别使用什么格式代码?试编一例,让这些打印值以空格分隔,并在输出行的末尾添加一个换行符。
5.编写一条scanf语句,它需要读取两个整数,分别保存于quantity和price变量,然后再读取一个字符串,保存在一个名叫department的字符数组中。
6.C语言并不执行数组下标的有效性检查。你觉得为什么这个明显的安全手段会从语言中省略?
7.本章描述的rearrange程序包含下面的语句
strncpy( output + output_col,
input + columns[col], nchars );
strcpy函数只接受两个参数,所以它实际上所复制的字符数由第2个参数指定。在本程序中,如果用strcpy函数取代strncpy函数会出现什么结果?
8.rearrange程序包含下面的语句
while( gets( input ) != NULL ) {
你认为这段代码可能会出现什么问题?