[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[WitchTech 00298] Re: signed char
- Subject: [WitchTech 00298] Re: signed char
- From: "Imagawa,Akira" <smoug@popn.com>
- Date: Mon, 14 Aug 2000 13:09:13 +0900
こんにちは。すまうぐです。
私もcharではまりました。
charはunsigned charになっているみたいです。
負の数を扱いたいときは
signed char a = -1;
とやらないきゃならないみたいです。
私はchar使うの止めました(^^;
----- Original Message -----
送信者 : "Shigeki Yamamoto" <shige@tsi.co.jp>
宛先 : <tech@wonderwitch.com>
送信日時 : 2000年8月14日 11:31
件名 : [WitchTech 00296] signed char
>
> あんみつ です
>
>
> 質問です。
> たとえば以下のようなコードを実行すると
>
> ---
>
> enum {
> aaa = -1
> } ;
>
> char a , buf[BUFSIZ] ;
> a = aaa ;
> sprintf( buf , "%d" , a ) ; /* ... (1) */
> text_put_string( 0 , 0 , buf ) ;
> if ( a != aaa ) { /* ... (2) */
> text_put_string( 0 , 0 , "NG" ) ;
> } else {
> text_put_string( 0 , 0 , "OK" ) ;
> }
>
> ---
>
> まず、(1)のsprintf()の出力が "-1" ではなく "255" になります。
>
> それから、(2)の比較演算の結果が 真 になってしまいます。
>
> なぜなんでしょうか。。。
> ちなみにLSI-Cのほうです。
>
>
ML Archives