对C语言中赋值运算符的理解
来源:互联网 发布:淘宝评论不见了 编辑:程序博客网 时间:2024/05/02 00:20
以前觉得赋值运算符很简单,但是遇到问题以后才知道自己的理解有些简单。如下所示:
unsigned int a = 6;
int b = -20;
a + b 的值为多少?
这里涉及的内容包括算术转换和整型提升。
a = 6; 6作为一个常数,它的类型是int,因为与左值的类型不同,所以需要进行转换,a的值为6,类型为unsinged;
b = -20; 不需要特殊变化,b的值为-20,类型为int;
a + b; 因为“+”两边的类型不同,需要进行算术转换,因为unsinged表示的范围比int大,所以b需要转化成unsinged类型,b在32位系统中内存形式为:1111 1111 1111 1111 1111 1111 1110 1100,按照unsinged进行解析,将是一个非常大的数字 4294967276,所以a + b = 4294967282
所以赋值只是把“=”左边的表达式的值(一定要注意类型),而不是对象,赋给左边的对象,使其的值发生变化。
0 0
- 对C语言中赋值运算符的理解
- C语言的赋值运算符
- C语言赋值运算符
- C++/STL中 vector中对 “=”赋值运算符的支持
- C语言中对const的理解
- C语言中对数据类型的理解
- 在C语言中11种赋值运算符的具体含义,用法
- C语言中11种赋值运算符的具体含义
- c语言:赋值运算符与赋值表达式
- C语言之使用关系运算符、赋值运算符
- C语言基础学习运算符-赋值运算符
- 对+=赋值运算符的认识
- c语言中运算符的优先级
- C语言中运算符的优先级
- C语言中运算符的总结
- C语言中运算符的总结
- C语言中运算符的优先级
- C语言中对volatile关键字的理解
- Zookeeper伪分布式安装
- 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
- 黑马程序员——jsp的最常用的5大内置对象
- javascript 事件冒泡和事件捕获
- 黑马程序员_<<File>>
- 对C语言中赋值运算符的理解
- 警惕 业务内专家 陷阱
- 黑马程序员——C语言基础——结构体
- Gathering Initial Troubleshooting Information for Analysis of ORA-4031 Errors on the Shared Pool
- 知名博客转发
- Coin Change
- iOS NSString 和NSData 转换
- 十大技巧优化Android App性能
- File I/O source code--读取文件 相关方法阅读