簡體   English   中英

從 int 數組轉換為 char 數組

[英]Convert from int array to char array

在四處搜索后,我無法理解如何將從 int 數組 [x] 獲得的值轉換為 char 數組 [x] 執行此代碼會給我一個 null 結果。

我看到了像char x = 98;這樣的語法。

它適用於單個 var,但不適用於數組。

#include  <stdio.h>

int main(void)
{
    int st[6]={99,102,107,111,117,121};
    int cl = 0;
    char pw[7]={'\0'};

    for (cl = 0; cl > 7; cl++){
        if (cl == 1){ pw[1] =  st[2];}
        if (cl == 2){ pw[2] =  st[5];}
        if (cl == 3){ pw[3] =  st[1];}
        if (cl == 4){ pw[4] =  st[3];}
        if (cl == 5){ pw[5] =  st[6];}
        if (cl == 6){ pw[6] =  st[4];}
        if (cl == 7){ pw[7] =  st[5];}
    }               
     printf("\n : %c ", pw);                
    return 0;
}

我需要代碼來加密文本然后破譯它們。 我想知道我錯在哪里。 PS:如果您運行代碼,我不對結果負責。

無用的 for 循環1 ....

實際上它比無用更糟糕,因為迭代條件( cl > 7 )總是錯誤的並且循環永遠不會運行。

刪除 for 循環。

然后,修復 printf 格式字符串。 您不能將指針與%c配對。 您也不能使用%s ,因為那是用於以 NUL 結尾的字符串。


1 引文尤其具有啟發性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM