#include using namespace std;
int main()
{ int x=2,y,z;
x*=(y=z=5); cout<
解析:x*=(y=z=5)的意思是說5賦值給z,z再賦值給y,x=x*y,所以x為2*5=10.
x==(y=z)的意思是說z賦值給y,然後看x和y相等否?不管相等不相等,x並未發生變化,仍然是0.
x=(y==z)的意思是說首先看y和z相等否,相等則返回乙個布林值1,不相等則返回乙個布林值0.現在y和z是相等的,所以返回的布林值是1,再把1賦值給x,所以x是1.
x=(y&z)的意思是首先使y和z按位與.y是3,z也是3.y的二進位制數字是0011,z的二進位制數字也是0011.按位與的結果如下表所示.y0
011z
0011
y&z001
1 所以y&z的二進位制數字仍是0011,也就是還是3.再賦值給x,所以x是3.
x=(y&&z)的意思是說首先使y和z進行與運算.與運算是指如果y為真,z為真,則(y&&z)為真,返回乙個布林值1.這時y與z都為3,所以為真,返回1,所以x為1.
x=(y|z)的意思是說使y和z按位或.y是4,z是3.y的二進位制數字是0100,z的二進位制數字是0011.與的結果如下表所示.y0
100z
0011
y|z011
1 所以y|z的二進位制數字是0111,也就是7.再賦值給x,x為7.
x=(y||z)的意思是說首先使y和z進行或運算.或運算是指如果y和z中有乙個為真則為真,返回乙個布林值1.這時y和z都為真,所以為真,返回1.所以x為1.
答案:10,10,1,3,1,7,1.
一道面試題
一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...
一道面試題
前些時候在找工作,就在準備結束此次找工作歷程的時候,去了一家公司面試,去了之後技術經理直接帶到一台電腦旁,給了一張紙條,上面是這樣的題目 用c或c 來實現 1 建立一棵樹,該樹的深度是隨機的,每個節點的位元組點數是隨機的。2 給每個節點分配一段隨機大小的記憶體空間,給每個節點賦乙個隨機數。3 遍歷這...
一道面試題
如果n為偶數,則將它除以2,如果n為奇數,則將它加1或者減1。問對於乙個給定的n,怎樣才能用最少的步驟將它變到1。例如 n 61 n 60 n 2 30 n 2 15 n 16 n 2 8 n 2 4 n 2 2 n 2 1 public class myclass public static vo...