UCHAR str[32] = "";
int operand[16] = {0 }, nstatus[16] = {0};
for (int i = 0; i < 16; i++) {
if (i == LIndex) {
operand[i] = 1 ;
nstatus[i] = value ;
}
}
for (int i = 0; i < 16; i++) {
str[i] = operand[i] + '0';
str[i + 16] = '1'-nstatus[i];
}
printf("%s", str);
我这样操作以后输出字符串.
在第二个for循环后面加一个字符串结束字符空字符'\0',如 str[31]='\0'. 字符串的打印从字符串起始字符到空字符结束。
修改如下,供参考:
UCHAR str[33] = ""; //修改
int operand[16] = { 0 }, nstatus[16] = { 0 };
for (int i = 0; i < 16; i++) {
if (i == LIndex) {
operand[i] = 1;
nstatus[i] = value;
}
}
for (int i = 0; i < 16; i++) {
str[i] = operand[i] + '0';
str[i + 16] = '1' - nstatus[i];
}
str[32] = '\0'; //修改
printf("%s", str);