[問題] C語言 語法問題

看板C_and_CPP作者 (最愛)時間15年前 (2009/06/23 23:25), 編輯推噓8(8015)
留言23則, 2人參與, 最新討論串1/1
char bc[33]; char *aa[58]; for(i=0;i<n;i++){ for(j=0;(HuT[i]>>j)>0;j++); for(bc[--j]='\0',--j;j>=0;j--){ bc[j]=(HuT[i]&1)+48; HuT[i]>>=1; } y=0; printf("%c %s\n",WT[i],bc); tabb[x]=WT[i]; //printf("%c",tab[x][0]); if(y==0){ aa[x]=bc; printf("%s",aa[x]); } x++;y=1; } 問題出在我弄不清這裡的bc到底是甚麼 printf("%c %s\n",WT[i],bc);這行確實能執行出我要結果 之後我希望將WT[i],bc此時的值做成一個table,之後才能進行編碼 tabb[x]能抓到我想要的值 但是aa[x]這裡不管怎麼抓,都會抓到bc最後的值 亦及a[0]=111 , a[1]=111 , a[2]=111 ,a[3]=111 這樣 原本可能是 f 01 d 100 e 111 tabb[x]抓的到f d e 但a[x]抓不到01 100 所有的a[x]全會是最後的值111 請問我要如何解決...卡好久了><"~明天要交....嗚 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.228.164

06/23 23:49, , 1F
陣列copy要用迴圈...
06/23 23:49, 1F

06/24 00:08, , 2F
bc是陣列開頭的位置 是個指標
06/24 00:08, 2F

06/24 00:11, , 3F
指標指向的內容才是你要抓的東西 bc[0]~bc[n]
06/24 00:11, 3F

06/24 00:16, , 4F
其中bc[n]=='/0', 你的aa也沒宣告足夠的空間
06/24 00:16, 4F

06/24 00:19, , 5F
弄懂了~謝謝
06/24 00:19, 5F

06/24 00:20, , 6F
以你現在的code為基礎 改成 char aa[58][33];
06/24 00:20, 6F

06/24 00:29, , 7F
編碼的時候char會變成數字...1010會變成10...
06/24 00:29, 7F

06/24 01:19, , 8F
還是寫不出來><"
06/24 01:19, 8F

06/24 01:19, , 9F
aa還是不知道怎麼寫...
06/24 01:19, 9F

06/24 01:23, , 10F
如何才能存進01 100 111這些數字...
06/24 01:23, 10F

06/24 21:53, , 11F
可惜我已經睡了... 我以為你真的懂...
06/24 21:53, 11F

06/24 22:06, , 12F
'0' 的 ASCII code 是 48
06/24 22:06, 12F

06/24 22:18, , 13F
因為你的問題沒有敘述完整,所以我只能這麼猜
06/24 22:18, 13F

06/24 22:20, , 14F
HuT是10進位的數字
06/24 22:20, 14F

06/24 22:22, , 15F
bc是HuT轉成2進位的字串
06/24 22:22, 15F

06/24 22:24, , 16F
int idx;
06/24 22:24, 16F

06/24 22:25, , 17F
for(id=0;;++idx)
06/24 22:25, 17F

06/24 22:25, , 18F
{
06/24 22:25, 18F

06/24 22:25, , 19F
aa[x][idx]=bc[idx];
06/24 22:25, 19F

06/24 22:26, , 20F
if( bc[idx] == '\0' )
06/24 22:26, 20F

06/24 22:26, , 21F
break;
06/24 22:26, 21F

06/24 22:26, , 22F
}
06/24 22:26, 22F

06/24 22:27, , 23F
printf("%s \n", aa[x]); //is this what you want?
06/24 22:27, 23F
文章代碼(AID): #1AGFFPfM (C_and_CPP)