Я пытаюсь распечатать адрес памяти в обратном порядке, как в маленькой конечной машине, но по какой-то причине моя программа выводит оба массива char в мою программу.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 и о том, как они работают. –