next up previous contents
Next: 空迴圈 Up: 迴圈 Previous: do...while loop   Contents

無窮迴圈

  1. 無窮迴圈 (endless loops) 是在迴圈執行過程中,一直無法離開迴圈,所以不繼的執行迴圈中的敍述。
  2. 範例:承上例輸入一數字,但數字必須是 1999 才離開迴圈。
    [dywang@dyw219 zzz]$ vim endlessloop1.c
    [dywang@dyw219 zzz]$ cat endlessloop1.c
    #include <stdio.h>
    
    main() {
    	int i=1, a, sum=0;
    
    	do {
    		printf("Enter an integer: ");
    		scanf("%d", &a);
    	} while ( a!=1999 );
    
    	while ( sum < a ) {
    		printf("%d+", i++ );
    		sum += i;
    	}
    	printf("%d=%d\n", i,sum );
    }
    
  3. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o endlessloop1 endlessloop1.c
    
  4. 執行結果:輸入 34, 23, 56, -2, 90 程式還是要求輸入一整數,且沒有提示要輸入什麼數字,因此一直無法退出迴圈,要終止迴圈可以按「Ctrl+C」結束程式。
    [dywang@dyw219 zzz]$ ./endlessloop1
    Enter an integer: 34
    Enter an integer: 23
    Enter an integer: 56
    Enter an integer: -2
    Enter an integer: 90
    Enter an integer: ^C
    



De-Yu Wang 2019-08-14