我想知道代码的输出
问题描述:
for(print("a");print("b");print("c"))
{
printf("d");
}
这个问题在采访中被问到,我的回答是“abdcabdcabdc .....”。 我想知道正确的输出解释。请帮助我。我想知道代码的输出
答
首先,打印在for循环将是printf。
这段代码的输出将是
abdcbdcbdcbdc ...无限次。
(如我们在环路初始化计数器只有一次将打印仅一次)
说明
作为它的一个for循环所以执行将在下面的顺序。
- 初始化
- Conditon检查
- 体执行
- 计数器加一
在这里的条件是有的printf语句总是返回字符数它打印。这里,printf(“d”)返回1因为它只打印字符。
而在Ç,被视为TRUE和被视为FALSE。
所以,这里的条件总是真,所以它运行无限次。
这些'print'调用应该是'printf'调用吗? –
无论如何,是什么让你觉得“a”会多次打印? –
不管你的期望如何,你是否考虑自己运行代码来*看*它打印什么? –