Setelah mencari-cari, saya tidak mengerti bagaimana mengonversi nilai yang diperoleh dari array int [x] ke array char [x] Menjalankan kode ini memberi saya hasil nol.

Saya melihat sintaks seperti char x = 98;

Ini berfungsi dengan var tunggal tetapi tidak berfungsi dengan array.

#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;
}

Saya memerlukan kode untuk mengenkripsi teks dan kemudian menguraikannya. Saya ingin tahu di mana saya salah. PS: Jika Anda menjalankan kode, saya tidak bertanggung jawab atas hasilnya.

-2
ExagonX 10 April 2020, 01:02

1 menjawab

Jawaban Terbaik

Penggunaan loop for yang tidak berguna1....

Sebenarnya ini lebih buruk daripada tidak berguna, karena kondisi iterasi (cl > 7) selalu salah dan loop tidak pernah berjalan.

Lepaskan loop for.

Kemudian, perbaiki string format printf. Anda tidak dapat memasangkan pointer dengan %c. Anda juga tidak dapat menggunakan %s karena itu untuk string yang diakhiri NUL.


1 Kutipan sangat mencerahkan.

1
Ben Voigt 14 April 2020, 20:49