且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《C和指针》一1.7 问题

更新时间:2022-09-24 07:47:32

本节书摘来自异步社区《C和指针》一书中的第1章,第1.7节,作者 【美】Kenneth A.Reek,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.7 问题

1.C是一种***形式的语言,也就是说并没有规则规定它的外观究竟应该怎样[9]。但本章的例子程序遵循了一定的空白使用规则。你对此有何想法?

《C和指针》一1.7 问题2.把声明(如函数原型的声明)放在头文件中,并在需要时用#include指令把它们包含于源文件中,这种做法有什么好处?

3.使用#define指令给字面值常量取名有什么好处?

4.依次打印一个十进制整数、字符串和浮点值,你应该在printf函数中分别使用什么格式代码?试编一例,让这些打印值以空格分隔,并在输出行的末尾添加一个换行符。

《C和指针》一1.7 问题5.编写一条scanf语句,它需要读取两个整数,分别保存于quantity和price变量,然后再读取一个字符串,保存在一个名叫department的字符数组中。

6.C语言并不执行数组下标的有效性检查。你觉得为什么这个明显的安全手段会从语言中省略?

7.本章描述的rearrange程序包含下面的语句

   strncpy( output + output_col, 
      input + columns[col], nchars );

strcpy函数只接受两个参数,所以它实际上所复制的字符数由第2个参数指定。在本程序中,如果用strcpy函数取代strncpy函数会出现什么结果?

《C和指针》一1.7 问题8.rearrange程序包含下面的语句

   while( gets( input ) != NULL ) {

你认为这段代码可能会出现什么问题?