C 程式在不使用分號的情況下列印從 1 到 N 的數字
在這裡我們將看到這個問題的一個棘手解決方案。我們將在不使用任何分號的情況下列印一些從 1 到 N 的數字。
我們可以用兩種不同的方法來解決這個問題。第一種是迭代方法,第二種是遞迴方法。
方法 1
printf() 函式返回字串的長度,因此它是一個非零值。我們可以對條件進行邏輯 AND 來列印結果。然後增加計數器的值。
示例程式碼
#include<stdio.h> #define N 20 int main(int num, char *argv[]) { while (num <=N && printf("%d ", num) && num++) { //The while body is empty. } }
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
方法 2
在第二種方法中,我們將看到如何使用遞迴來完成相同的任務。我們將在主函式中傳遞一些引數。此主函式將被遞迴呼叫。
示例程式碼
#include<stdio.h> #define N 20 main(int val) { if (val <=N && printf("%d ", val) && main(val + 1)) { //Body is empty } }
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
廣告