正确答案:
题目:若有以下程序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。
举一反三的答案和解析: