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

admin2010-01-10  30

问题 若有以下程序:
   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://kaotiyun.com/show/B1Wp777K
0

最新回复(0)