看板 C_and_CPP 關於我們 聯絡資訊
因為不會將array印出來, 結尾就不加'\0' 兩個互轉的程式讓您對照參考, 您要的程式在第二個. #include <stdio.h> int main(void) { /*1 2 4 8 16 32 64 128 */ char array[8] = {'1', '0', '0', '1', '1', '1', '0', '0'}; char array2[1]; int byte_value = 0; int byte_value2[8] = {1, 0, 0, 1, 1, 1, 0, 0}; int i = 0; byte_value = 0; for(i = 0; i < 8; ++i) { if(array[i] - '0') { byte_value += (array[i] - '0') << i; } } printf("%d\n", byte_value); array2[0] = (char)0; for(i = 0; i < 8; ++i) { if(byte_value2[i]) { array2[0] += byte_value2[i] << i; } } printf("%c\n", array2[0]); return 0; } /* code - end */ ※ 引述《yuhooo (yuho)》之銘言: : 假設線再我有一個 char[1] : 怎樣讓8個0/1整數 寫到char中 : 使char[] 改變 : 謝謝! -- World of bleed1979 http://bleed1979.myweb.hinet.net/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.132.166
yuhooo:大感謝~ 04/01 11:27