for循环的执行规则:先进行k=1的赋值,再进行判定k==0,不等于0输出,继续k++,当k的值超过k的基本数据类型的最大范围,如果是char(-128~127),则当加到127时,再加1就会溢出,超出char所能表示的范围于是瞬间变成-128,然后继续k++直到为0则此时k判定为条件假跳出for循环。具体情形如下所示:
#include<stdio.h>
int main(){
char k;
for (k=1; k; k
本文详细解析了for循环中,有符号的char类型在溢出后的行为,以及无符号类型的不同处理方式,并通过代码实例进行说明。重点讨论了溢出后数值变化和unsigned类型的循环终止规则。
for循环的执行规则:先进行k=1的赋值,再进行判定k==0,不等于0输出,继续k++,当k的值超过k的基本数据类型的最大范围,如果是char(-128~127),则当加到127时,再加1就会溢出,超出char所能表示的范围于是瞬间变成-128,然后继续k++直到为0则此时k判定为条件假跳出for循环。具体情形如下所示:
#include<stdio.h>
int main(){
char k;
for (k=1; k; k
1015
1385

被折叠的 条评论
为什么被折叠?