我想打印出一個內存地址向後像在一個小endian機,但由於某種原因,我的程序是在我的程序中輸出兩個字符數組。c打印太多字符
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"
。
[''\ 0''](http://en.wikipedia.org/wiki/Null_character)在哪裏? – Maroun
我建議你閱讀更多關於C語言中的字符串以及它們是如何工作的。 –