有以下程序 main() { int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);} 执行后输出结果是

admin2009-02-15  29

问题 有以下程序    main()    { int i=1,j=1,k=2;     if((j++‖k++)&&i++)  printf("%d,%d,%d\n",i,j,k);}    执行后输出结果是

选项 A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3

答案4

解析 该题目的关键是要搞清楚“&&”和“‖”两个逻辑运算符的运算功能。运算符“&&”和“‖”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真时,才需要判别后面的值。只要前面为假,就不必判别后面的值。而逻辑或则为只要前为真,就不必判别后面的值;只有前为假,才判别后。本题中j++值为真,不进行k++的运算,所以k的值保持不变。
转载请注明原文地址:https://kaotiyun.com/show/rJXp777K
0

最新回复(0)