2010年10月3日 星期日

char與ASCII






最近小弟被重修的同學問到了一個問題 ,
疑?
這題似乎算重點之一 ,
當下我就拾起手中的書看了一下 ,
原來 ... 原來 ...
#include<stdio.h>
#include<stdlib.h>
int main() {
    char a = 367 ;
    printf("%c\n%d\n",a,a) ;
    system("pause");
}

這執行結果會印出小o111 ,
疑 ? 怎麼不是367 ?
原來直接宣告會是ASCII碼 ,
但ASCII碼表示又只有0~255(十進制) ,
因此367需要MOD 256變成了111 ,
111的ASCII碼又是小o ,
又上了一課 ,
離偉大的程式設計師又邁向了一粒米的距離...