gpt4 book ai didi

c 打印太多字符

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:28 25 4
gpt4 key购买 nike

我正尝试像在小型字节序机器中那样向后打印内存地址,但由于某种原因,我的程序在我的程序中输出了两个字符数组。

char address[8];
char result[16];
scanf("%s", address);
int x = 1;
for(x; x<5; x++)
{
int y = 4*x;
int z = 8 - 2*x;
result[y-4] = '\\';
result[y-3] = 'x';
result[y-2] = address[z];
result[y-1] = address[z+1];
}
printf("%s", result);

例如,如果我输入“12345678”,它会输出 “\x78\x56\x34\x1212345678”我想要 "\x78\x56\x34\x12",但我不明白为什么还打印了 "12345678"

最佳答案

您忘记终止字符串。事实上,你的数组对于终止符来说太小了,你需要它是 17 个字符,然后执行 result[16] = '\0';


哦,您的代码中也有越界错误,如果您输入 8 个字符,则 scanf 会将 9 个字符写入 8 个字符的数组。

关于c 打印太多字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com