關于字符型和整型運算的疑問
#include<stdio.h> #include<stdlib.h> int?main() { ?char?ch1,ch2,ch3; ?ch1='4';ch2='3';ch3='2'; ?int?number; ?number=ch1*100+ch2*10+ch3;//這里出現了問題? ?printf("number=%d\n",number); ?system("pause"); ?}? ?為什么第八行這樣得不了正確的結果呢?
#include<stdio.h> #include<stdlib.h> int?main() { ?char?ch1,ch2,ch3; ?ch1='4';ch2='3';ch3='2'; ?int?number; ?number=ch1*100+ch2*10+ch3;//這里出現了問題? ?printf("number=%d\n",number); ?system("pause"); ?}? ?為什么第八行這樣得不了正確的結果呢?
2016-08-07
舉報
2016-08-07
ch1='4';ch2='3';ch3='2';
這里的‘4’,‘3’,‘2’都是字符型變量,進行整數運算時使用的是他們的ASCII代碼值,
‘4’==52,‘3’==51,‘2’==50,
52*100+51*10+50==5760
2016-08-07
這里運用char類型計算得到的是其對應的ASCII的運算值
2016-08-07
你能用一個char類型去做數學運算嗎?
2016-08-07
因為ch1是字符,不是數
2016-08-07
最后的結果是不是5760