操作符详解伍六七
五:
- %u 叫unsigned 打印的是无符号整数
%d是打印的是有符号的整数
sizeof返回的是无符号的整数 - 隐式类型转化:除了整形提升还有算术转换
- 介绍
int a = 4;
float f = 4.5f;
a +f ;
就需要把int转化为float再进行转换
向字节长的转化
还有向精度更高的进行转化
- 介绍
- 操作符的属性
- int c = a+b *7
受到操作符属性影响
优先级决定了计算顺序
int c =a+b+c 这时候优先级不起作用,结合性起作用
结合性 n/a不考虑
l
L -r从左向右
那是不是说明了写出任何一个表达式的结果?
不,有些不会产生很好的结果
- 一些问题表达式
- 表达式一
这个表达式讲得通
计算顺序可能不一样,
不要简单把abcd理解为变量
理解为表达式
我们一定要谦虚
我们没法确定唯一的计算路径
- 表达式二
假设我们说c =3
--c就是2
3+2 =5我们先不准备c
c不准备2+2=4
+左边的值是在--c之前准备好的还是之后准备好的
所以这就是一个问题表达式
- 表达式三
c和指针作者去测试
不同平台产生不同结果
问题代码问题非常大
拆出它的计算顺序
- 表达式四
2-3*4 = -10;
static 创建好后不会被销毁
return ++count 变成3
是谁先调用嗯
这也是一个错误代码
- 代码五
int i = 1;
int ret =(++i)+(++i)+(++i);
计算机常见寄存器
eax ebx ecx
- 总结
- 表达式一
- int c = a+b *7
六:
- 嗑瓜子,正向反馈,这是游戏机制,github就是如此
- 出来混是迟早要还的
- 学校不会迭代,bite会迭代课程就是以这个谋生
- 作业知识交给专业人
- 题一
选c,在访问第十一个元素,在越界 - 题二
选b右手就行
- 题三
这是一个逗号表达式结果就是四 - 题四
每个元素是一个字符是一个字节
数组放的是hello bit \0
sizeof
10个字节
字符串长度找到\0为止
\0不算字符串长度的内容
九个字符 - 题五
acx放的是\0 - 题六
地址是由低到高变化
- 题七
行可以省略,列不行a错
b对
c是两行四列但是初始化的时候用了三个大括号
初识化了三行明显错了,行多了
d不符合语法规则
七:
- 题一
初始化数组全为0
对数组初始化,初始化全为0;init初始化
对数组元素的逆置
reverse函数
left 和right
找下标
sz -1
是个循环体,条件是left小于right引入变量tmp
不复杂啊哈? - 题二:
return;
两个数组用第三个数组???设计思想不好
两个数组名不可以赋值,
数组名是数组首元素的地址
不要第三个数组,我们一个一个交换
- 一定要认真起来,兄弟萌,加油呀