以下程序的输出结果是 main() { int a=4,b=5,c=0,d; d=!a&&! b||! c; printf(“%d\n”,d; }

admin2010-01-10  31

问题 以下程序的输出结果是    main()    {  int a=4,b=5,c=0,d;       d=!a&&! b||! c;       printf(“%d\n”,d;    }

选项 A、1
B、0
C、非0的数
D、-1

答案1

解析 由于单目运算符优先级高于“&&”和“||”运算,所以先计算!a、!b和!c分别为“假”、“假”、“真”,然后是&&运算和“||”运算,原表达式就等价于“假”&&“假”||“真”又由于“&&”的优先级高于“||”运算符,所以先计算“假”&&“假”,还是为假,最后是“假”||“真”  为真。因此最后d被赋值为1,故最后输出为1。
转载请注明原文地址:https://kaotiyun.com/show/fLWp777K
0

最新回复(0)