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

更新于: 30-7 月-2019

1K+ 浏览次数

开启你的 职业生涯

通过完成课程获得证书

开始
广告
© . All rights reserved.