foxiangzun 发表于 2022-2-22 19:20:09

C语言输出问题求教

先上代码

#include <stdio.h>

int main()
{
    char i;
    for (i = 0; i < 127; i++)
    {
      printf("%d\n", i);
    }
    return 0;
}


基础不牢固,这里也不知道该从哪一章开始补习,这里 i 作为字符型变量,以整型输出,for 循环中,如果把 i < 127 改成 i < 128,循环就成了死循环,请问这里是有什么猫腻么?请各位鱼油赐教{:9_221:}

ckblt 发表于 2022-2-22 19:27:14

char类型是-128~127的

foxiangzun 发表于 2022-2-22 19:31:10

ckblt 发表于 2022-2-22 19:27
char类型是-128~127的

感谢指教,这下我懂了,如果超过了 127,就会回到 -128。。难怪我说一直死循环,一直有负数出现。。再次感谢{:9_232:}

bxgz87 发表于 2022-2-23 14:37:56

为啥不用int

foxiangzun 发表于 2022-2-23 20:24:47

bxgz87 发表于 2022-2-23 14:37
为啥不用int

因为这是一道面试题。。题目就是这段代码,然后问:输出的结果是什么{:9_218:}
页: [1]
查看完整版本: C语言输出问题求教