若有以下程序 main() { int p,a=5; if(p=a!=0) printf("%d\n".p); else printf("%d\n",p+2); } 执行后

admin2009-01-15  23

问题 若有以下程序
   main()
   {  int  p,a=5;
      if(p=a!=0)
        printf("%d\n".p);
      else
        printf("%d\n",p+2);
   }
   执行后输出结果是______。

选项

答案1

解析 首先计算if语句后面的表达式,根据运算符的优先级可知,先算“a!=0”,该值为1,再把1赋值给p,结果为1(真),执行其后的printf语句,输出的值为1。
转载请注明原文地址:https://jikaoti.com/ti/MxK0FFFM
0

最新回复(0)