我正在通过简单的加法运算并测试数字变为负数时来寻找char
的最大值:
#include<stdio.h>
/*find max value of char by adding*/
int main(){
char c = 1;
while(c + 1 > 0)
++c;
printf("Max c = %d\n",(int)c); /*outputs Max c = -128*/
return 0;
}
while
循环进行预先测试,所以第一次c+1
为负数时会中断循环,并打印出c
的值。然而,该编程输出的是负数!为什么这个程序没有输出127
?
c != (char) c
。 - KIIV