2017-07-20 24 views
1

このコードを実行すると、不定ループに入ります。どこで私は間違えましたか?whileループcは終了しません

#include <stdio.h> 
int main() 
{ 
    char x;     
    x=0; 
    while(x<=225) 
    { 
     printf("%c=%d\n",x,x); 
     x=x+1; 
    } 
    return 0; 
} 
+2

'char'はおそらくあなたの実装で' signed'なので、 'x'は' -128'から '127'までの範囲です。 –

+1

書き込み 'unsigned char' –

+0

oh .. misread 225 as 255 ... –

答えて

2

タイプsigned charとしてタイプchar挙動は、値の有効範囲は[-128, 127]である場合。 結果が127より大きい場合、結果値が127を超えると未定義の動作です。

タイプcharの代わりにタイプunsigned charを使用できます。

関連する問題