/ / Преместване отвъд максималната граница, което дава периодична последователност - c, undefined-поведение

Преминаване отвъд максималната граница, което дава периодична последователност - c, неопределено поведение

Аз написах следния код и го изпълних на IDB на CodeBlocks:

main()
{
unsigned char num=1;
unsigned char i=0;

for(i=0;i<255;i++)
{
printf("%dn",num>>i);
}
}

изход: 1,0,0, .. (31 0 "s), 1,0 .. (31 0" s)

Всяка стойност за num генерира периодична последователност.

Знам, че преместването отвъд границата (mem размер за num) е недефинирано поведение, но защо е периодично?

Периодичната последователност се генерира дори ако сте напуснали смяна

Отговори:

4 за отговор № 1

Това е позволено да бъде периодично, тъй като това е възможно проявление на неопределено поведение.

Не разчитайте на това.