嘿傢伙,所以我有一個char
,我想添加一些整數/雙向它。字符必須是一個有符號的字符,所以我不能把它作爲一個int。在c中爲char添加值?
char var = -55;
printf("Char is %d, add, char is now: %d\n", var, var+2);
該代碼工作,但只要我想添加一個分數或東西...
printf("Char is %d, add, char is now: %d\n", var, var+2/3*2);
它不會增加的。任何想法爲什麼?可能與舍入和什麼有關。
謝謝。
2/3等於零。 – MYMNeo 2013-04-22 10:05:21
嗯?我應該先擲2/3到第一個? 編輯 - 哈哈,忘了基本BODMAS ..所以是2/3 = 0然後乘以2 = 0. -.-。謝謝! – Travv92 2013-04-22 10:06:41
顯式聲明'var'爲'signed char',或者當您使用不同的編譯器時,冒着最終使用'unsigned char'的風險。 – 2013-04-22 10:31:51