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
ですか?