s1e13课后作业困扰
#include <stdio.h>int main()
{
signed char i = 0;
while (i <= 0)
{
printf("%d", i);
i = i - 1;//这里 i = i - 1是啥意思呢
}
return 0;
}
还有最后为什么会打印出 0~128的值呢?不应该是-128~0吗,想不通{:10_266:} 应该是打印0-1-2-3-4...-128才对吧?
i = i -1;//这句就是i自减1的意思
其实要理解这个输出只要明白char其实就是一个整形,只不过只用一个字节来存储数据而已,对于有符号的char型数据,其范围就应该是-128 ~ 127
因为i初始化为0,那么进行自减操作后自然就依次变成了 -1,-2,-3... 一直到 -128
BngThea 发表于 2017-11-4 21:35
应该是打印0-1-2-3-4...-128才对吧?
i = i -1;//这句就是i自减1的意思
我看成0-1-2,以为是0 1 2,我好奇哪里来的一个横杆...............
页:
[1]