מעגל קסמים הוא סדרה של מצבים, המפנים זה אל זה בשרשרת, כך שלאחר מעבר על כל המצבים, נוצרת חזרה למצב הראשוני, וחוזר חלילה, תאורטית עד אין סוף. מעגל קסמים הוא לפיכך סיטואציה ללא מוצא.
בתוכנית מחשב, מעגל קסמים יוצר לולאה אינסופית - לולאה ללא תנאי עצירה או שתנאי העצירה שבה אינו מתקיים לעולם. ישנן לולאות שמעוניינים שירוצו בצורה "אינסופית", אלו יכולות להיות לולאות תנאי while=true. כדי שלא יפעלו ללא יכולת עצירה ויתקעו את המחשב, או שאי אפשר יהיה לצאת מהן, לולאות כאלה מוגדרות להיעצר עם תנאי פנימי, כמו למשל לאחר לחיצה על מקש מסוים המפנה לפקודה שיוצאת מן הלולאה. שימוש נפוץ ללולאות כאלו הוא הרצת תוכנית לאורך זמן.
"תארו לכם חוזה שנחתם בין חברה שווייצרית לחברה צרפתית. החוזה נחתם בגרמניה ומבוצע באנגליה. החוזה הופר, והשווייצרים תובעים את הצרפתים בגרמניה. לפי הדין הגרמני, דנים בעניין לפי החוק של מקום ביצוע החוזה - אנגליה. לפי הדין האנגלי, הדין החל הוא דין מקום מושב הנתבע - צרפת. לפי הדין הצרפתי דנים לפי החוק של מקום חתימת החוזה - גרמניה. וחוזר חלילה. הבנתם? לא נורא אם לא. יש על זה מיליון פסקי דין בצרפתית" (עפולה, רחוב האופרה 3, זמורה ביתן).