Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从int数组转换为char数组_C++_C_Gcc - Fatal编程技术网

C++ 从int数组转换为char数组

C++ 从int数组转换为char数组,c++,c,gcc,C++,C,Gcc,在四处搜索之后,我无法理解如何将从int数组[x]获得的值转换为char数组[x] 执行此代码会得到一个空结果 我看到的语法是charx=98 它适用于单个变量,但不适用于数组 #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++){

在四处搜索之后,我无法理解如何将从int数组[x]获得的值转换为char数组[x] 执行此代码会得到一个空结果

我看到的语法是
charx=98

它适用于单个变量,但不适用于数组

#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;
}
#包括
内部主(空)
{
int st[6]={99102107111117121};
int cl=0;
char pw[7]={'\0'};
对于(cl=0;cl>7;cl++){
如果(cl==1){pw[1]=st[2];}
如果(cl==2){pw[2]=st[5];}
如果(cl==3){pw[3]=st[1];}
如果(cl==4){pw[4]=st[3];}
如果(cl==5){pw[5]=st[6];}
如果(cl==6){pw[6]=st[4];}
如果(cl==7){pw[7]=st[5];}
}               
printf(“\n:%c”,pw);
返回0;
}
我需要密码来加密文本然后破译它们。 我想知道我错在哪里。 PS:如果你运行代码,我不会对结果负责。

1

实际上,它比无用还要糟糕,因为迭代条件(
cl>7
)总是错误的,循环永远不会运行

卸下for循环

然后,修复printf格式字符串。无法将指针与
%c
配对。您也不能使用
%s
,因为这是用于以NUL结尾的字符串



1特别有启发性。

请提取并提供一个。另外,请描述你所观察到的和你期望看到的,而不仅仅是你的解释。无关的,但是C和C++中的数组是基于0的,不是基于1的。这个站点使用问答格式,请不要编辑问题来包含答案。相反,你可以接受贴出的答案,或者在答案中贴出你自己的答案box@M.M很高兴知道下一次,谢谢你的建议。