C++ 从int数组转换为char数组
在四处搜索之后,我无法理解如何将从int数组[x]获得的值转换为char数组[x] 执行此代码会得到一个空结果 我看到的语法是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++){
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很高兴知道下一次,谢谢你的建议。