我char
通过简单的加法和测试数字何时变为负数来找到 a 的最大值:
#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
?