我的电脑的字长 4128 字节??
这可咋整啊
1
a87150 2017-02-03 20:34:20 +08:00
\n
|
2
huluhulu 2017-02-03 20:36:32 +08:00
\n
|
3
huluhulu 2017-02-03 20:37:03 +08:00
c4 还被吃掉了呢
|
4
lalalakakaka 2017-02-03 20:40:21 +08:00
2333
|
5
zbinlin 2017-02-03 20:44:05 +08:00
第 1 与第 2 个 printf 没换行
|
6
Newyorkcity OP 自惭形秽,没脸见人了。
|
7
Newyorkcity OP @a87150
@huluhulu @lalalakakaka @zbinlin 再请问一下 为何 c1+1 的输出是 128 ,不应该是-128 么? 同样 c2-1 的输出不应该是 127 么。。 c3+1 不应该溢出所以变为 0 了么。。 |
8
RE 2017-02-03 21:16:00 +08:00
@Newyorkcity c1 = 127 ,为何 127 + 1 会等于 -128 ???
|
9
Newyorkcity OP @RE char 在内存只占用一个字节即 8 个比特,所以 127 的存储是 01111111 ,加一之后变为 10000000 ,再没有声明 unsined 的情况下不应该把它当做-128 的补码,输出-128 么?
|
10
linfx7 2017-02-03 21:32:50 +08:00 via iPhone 1
@Newyorkcity 是因为%d 吧
|
11
zbinlin 2017-02-03 21:35:20 +08:00
@Newyorkcity 你又不是使用 `c1 += 1`,在 c1 上赋值
|
14
lris1930170407 2017-02-03 22:16:35 +08:00
仿佛回到了大一学 C 语言的计算机教室里面
|
15
huluhulu 2017-02-03 22:49:56 +08:00
@Newyorkcity 参考 整型提升
|
16
Newyorkcity OP |
17
davy1995 2017-02-04 01:00:51 +08:00 via Android
@Newyorkcity 前两个哪里是赋值语句?
|
18
davy1995 2017-02-04 01:09:54 +08:00 via Android
@Newyorkcity 前两个又没有重新赋值给一个 char 类型变量
|
19
scnace 2017-02-04 09:01:54 +08:00 via Android
去看下 printf 的原型函数呗~
|
20
Newyorkcity OP @davy1995 即便 printf 函数内的那种不算赋值,为什么传 127+char(1)给%d 和传 char c = 128 给%d 的结果不同呢?
|