📜  C |回路和控制结构|问题2

📅  最后修改于: 2021-05-25 22:39:50             🧑  作者: Mango

#include 
#define PRINT(i, limit) do \
                        { \
                            if (i++ < limit) \
                            { \
                                printf("GeeksQuiz\n"); \
                                continue; \
                            } \
                        }while(0)
  
int main()
{
    int i = 0;
    PRINT(i, 3);
    return 0;
}

在上述程序中, GeeksQuiz被打印了多少次?
(A) 1
(B) 3
(C) 4
(D)编译时错误答案: (A)
说明:如果宏需要扩展为多行,则最佳做法是在do {} while(0)中编写这些行,以避免产生宏副作用。 GeeksQuiz打印一次后,控件到达while语句以检查条件。由于条件为假,因此循环终止。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。