正确答案:

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

解析:在本题中,程序首先定义两个整型变量p和a,都被初始化为5,然后执行if语句,该语句的判断条件为p=1!=0,这也是求解这个题目的关键,由于运算符!=的优先级比运算符=高,因此,本判断条件表达式等价于p=(1!=0),很明显,1是不等于0的,返回的是一个真值结果1,因此,此时变量p的值为1,那么条件为真,if语句返回的结果也为真,因此,执行printf("%d\n",p);语句,由于此时变量p的值已经变为1,因此,程序运行后的输出结果为1。

查看原题

举一反三的答案和解析:

  • [单选题]在下列的标识符中,错误的是 ( )
  • 1xyz


  • [单选题]下列程序段的执行结果为
  • 14 6

  • 解析:解析:此题内容比较简单,开始m为2,n为3,执行Do语句,具体运行为:执行m=m+n;n=n+1语句后,m为5,n为4。这样运行到m=14,程序终止循环,此时n=6。

  • [单选题]有以下程序 #define f(x) x*x main() { int i; i=f(4+4)/f(2+2); printf("%d\n",i); } 执行后输出结果是
  • 28

  • 解析:解析:本题中首先将所有的宏替换掉,则表达式为i=4+4*4+4/2+2*2 +2,故最后输出的i的值为28。

  • 推荐下载科目: 计算机二级 软考中级 微软认证 Linux认证 JAVA认证 职称计算机 计算机操作员初级 计算机操作员中级 计算机操作员高级 LTE认证
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2