《C和指针》第三章书后问题

在这里插入图片描述
打开头文件 <limits.h> 可以看到字符和各种整数类型的特点。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
打开头文件 <float.h> 可以看到定义。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
许多编译器会报警告。 当 long 整形变量的值在 short 范围内,变量值不变,当 long 整形变量的值超过 short 时,我测试的是去掉高位,只保留低 8 位的数据赋给 short 整形变量。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
不行

在这里插入图片描述
char 类型在正常情况下是 unsigned。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
没有区别,位于函数起始部分的变量属于自动变量,在声明变量的同时进行初始化和先声明后赋值只有风格之差。

在这里插入图片描述
左边和之前一样,右边会出错,constant 变量不能进行赋值。

在这里插入图片描述
对,除非代码块中有嵌套的代码块声明了相同名字的变量。

在这里插入图片描述
错,自动整型变量作用域在当前代码块中。

在这里插入图片描述
不会,在代码块中变量声明为 static 只会改变它的存储类型,不会改变作用域和链接属性。

在这里插入图片描述
不需要

在这里插入图片描述
不会,链接属性从 external 变为 internal ,但是同一个源文件中还是可以访问。

在这里插入图片描述
不需要,缺省链接属性为 external。

在这里插入图片描述
会,声明中包含 static 链接属性变为 internal,其他源文件不能进行访问。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
出现在代码块内部时:
a 为局部变量,存储类型为 automatic,每次函数调用时进行初始化,作用域为当前代码块,无链接属性。
出现在代码块外部时:
a 为全局变量,存储类型为 static,程序运行前初始化一次,作用域为当前文件,external 链接属性。

在这里插入图片描述
有点让人困惑的是变量 a,external 链接属性肯定在代码块外面,但是作用域 x 可以访问而 y 不可以,小技巧是把函数 y 放在变量 a 的声明之前。
不过变量 b 链接属性为 none 而函数 x、y 都可以访问,这里应该是题目有问题,变量 b 的链接属性应该是 internal。

static char b = 2;
void y(){}
int a = 1;
void x()
{
	int c = 3;
	static float d = 4;
}

在这里插入图片描述
在这里插入图片描述
错误:第 6 行变量 c 的声明和函数形参中的 c 冲突。下面的比较琐碎。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值