用戶提交的一段 C 代碼運行後無任何輸出,控制台長時間無響應。
經代碼邏輯推測,極大概率陷入死循環。常見情況包括:
while(1) 缺少跳出機制)i++ 或邏輯判斷錯誤)while (i < 100) {
printf("i = %d\n", i);
// 邏輯處理
i++; // 確保變量更新
}
int guard = 0;
while (condition && guard++ < 10000) { ... }
若原代碼為:
int i = 0;
while (i < 10) {
// 忘記 i++,導致死循環
printf("%d", i);
}
修正後:
int i = 0;
while (i < 10) {
printf("%d", i);
i++; // 關鍵:更新循環變量
}
遇到無輸出、程序卡住,優先檢查循環條件與變量更新。養成「循環三要素」(初始化、條件、迭代)完整編寫習慣,可有效避免此類低級錯誤。