宇与鱼 发表于 2017-12-23 21:35:18

???

不太理解在这个程序的答案(1~128)?能不能解释一下???
#include <stdio.h>

int main()
{
      signed char i = 0;

      while (i <= 0)
      {
                printf("%d", i);
                i = i - 1;
      }

      return 0;
}

zqianglh 发表于 2017-12-23 23:08:46

本帖最后由 zqianglh 于 2017-12-23 23:14 编辑

一个字节
signed char取值范围是 -128 到 127unsigned char 取值范围是 0 到 255signed char
while (i <= 0)
取负的部分包括0就是0 到 -128

风过无痕丶 发表于 2017-12-24 10:02:03

要搞清楚这到题,首先你要先明白两个概念 取值范围和进制转换   

过程我就不说了直接说题
signed char 的取值范围是 -128 到 127    为什么是 -128 到 127?可以点击上面的进制转换,小甲鱼写的很详细
知道 char的取值范围了这道题就很好解释了。
while (i <= 0 )    那么循环的次数就应该是 0 ~ -128

宇与鱼 发表于 2017-12-24 11:35:41

风过无痕丶 发表于 2017-12-24 10:02
要搞清楚这到题,首先你要先明白两个概念 取值范围和进制转换   

过程我就不说了直接说题


谢了

宇与鱼 发表于 2017-12-24 11:36:11

zqianglh 发表于 2017-12-23 23:08
一个字节
signed char取值范围是 -128 到 127unsigned char 取值范围是 0 到 255signed char
while (i


页: [1]
查看完整版本: ???