为什么打印1?

时间:2014-11-11 16:25:50

标签: c

#include <stdio.h> 

int main() 
{ 
  int var=0; 
  for(; var++; printf("%d",var)); 
    printf("%d", var); 
} 

请向我解释这个C代码。输出1怎么样?

1 个答案:

答案 0 :(得分:2)

由于错误的代码缩进,您可能会感到困惑。您的代码是:

for(; var++; printf("%d",var))
    ; 
printf("%d", var); 

所以你总是得到第二个printf的输出。当var初始化为0并且始终执行var++(for-condition)时,最终会得到var == 1.