不明白为什么不是打印0到负无穷呢?
不明白:为什么会打印0~-128?而不是0到负无穷呢?#include <stdio.h>
int main()
{
signed char i = 0;
while (i <= 0)
{
printf("%d", i);
i = i - 1;
}
return 0;
} 这是因为signed char类型的取值范围是-128到127,当i达到-128时,再减1就会发生signed char类型的溢出,变成了127,然后i就会一直循环在-128和127之间。所以会一直打印-128到127范围内的数值。如果你想打印0到负无穷,可以将signed char类型改成int类型,int类型的取值范围是-2147483648到2147483647,可以满足你的需求。
页:
[1]