<分区>
我正在解决一本书中的一些多项选择 C 代码。其中两个问题涉及前递减,后递减初始化为 0 的 char 变量。这两个问题的输出非常不同。我不明白那里发生了什么。
代码 1
char i=0;
do
{
printf("%d ",i);
}while(i--);
return 0;
此代码段的输出为 0。
代码 2
char i=0;
do
{
printf("%d ",i);
}while(--i);
return 0;
这个的输出是
0,-1,-2,.......-128,127,126,......1 .
谁能解释为什么会这样?