Некоторые интересные ошибки появляются, когда я запускаю этот код ... Внутри ввода l oop все выглядит нормально (не совсем, адреса не работают должным образом, но эй! *c по крайней мере, дает мне правильное значение )
Однако на выходе l oop все становится не так. Может кто-нибудь сказать мне, почему?
#include<stdio.h>
int main(void)
{
char a;
int count = 1, flag = 0;
unsigned long int f = (unsigned long int)&a;
do
{
char *c = (char*)(f+count);
char temp = getchar();
if (temp == '\n')
{
flag = 1;
*c = '\0';
}
else
*c = temp;
printf("%p %c\n", c, *c);
count++;
}
while( flag == 0);
count = 0;
char *h = (char *)f+1;
do
{
printf("%p\n", (h+count));
count++;
} while (count < 5);
return 0;
}