1樓:熱詞課代表
最近」盤「字很流行,盤是什麼意思?為什麼能成為網路熱詞?
2樓:金牛白小呆
&是位與的意思,將a和a-1都換成二進位制,然後按位進行與運算,1&0=0,0&0=0,1&1=1
c語言中a&(a-1)=?,這句話是什麼意思,想幹什麼,在哪能用
3樓:丨紅姬丨
這個是刪除一個bit,每次a&(a-1)的結果會比a的二進位制少一個bit,用個迴圈操作就可以算出有a多少個bit了
4樓:右灸
正解:這是檢測a是否是2的n次冪,即a如果是2、4、8、16、32、64、128、256、512、2048、4096... 計算的結果就是0,否則就是非0
5樓:
a和a-1兩個值進行按位與運算。如a=10,則
6樓:無心人隨緣
計算一個數的二進位制中1的個數:
while(a)
c++中,a+=b什麼意思?
7樓:幻翼高達
c++中,a+=b的意思是a+b後再賦值給a,即效果等同於a=a+b,但是從運算角度只算1次運算,「+=」是c++中一個複合運算子。
在賦值運算子當中,還有一類c/c++獨有的複合賦值運算子。它們實際上是一種縮寫形式,使得對變數的改變更為簡潔。
例如total=total+3,它的意思是本身的值加3,然後在賦值給本身。為了簡化,上面的**也可以寫成:total+=3。
a=a+1與a+=1是有區別的,對於a=a+1,表示式a被計算了兩次,對於複合運算子a+=1,表示式a僅計算了一次。
擴充套件資料:
c++中所有複合運算子:
1、+=:加法賦值
2、-=:減法賦值
3、*=:乘法賦值
4、/=:除法賦值
5、%=:模運算賦值
6、<<=:左移賦值
7、>>=:右移賦值
8、&=:位邏輯與賦值
9、|=:位邏輯或賦值
10、^=:位邏輯異或賦值
8樓:匿名使用者
c++中,a+=b的意思是a=a+b,即將a的值加上b的值之後的結果重新賦值給a,這是a=a+b的簡寫形式。
這種形式還有很多種運算型別,如-=、*=、/=、%=等,其規則與+=類似,如a-=b的後即為a=a-b,其他類似。
9樓:匿名使用者
a[b=c]++
首先執行賦值語句b=c,表示式b=c的值是c的值 ,所以a[c]++,a[c]的值自增1,一句話裡執行了上述兩個操作
10樓:
a+++-b = (a++)+(-b),這題目考察了對於運算子號優先順序的知識,++是自增運算子,優先順序高於+和-,所以前兩個+表示一個自增運算,+-從左向右 運算,所以第一個+是運算子,第二個-表示負數,相反-+,第一個-表示減法,第二個+號表示一個正數。
11樓:匿名使用者
a&=b等價於a=a&b,意思是a、b的二進位制碼進行每一位的與運算,結果存放在a裡面。
a^=b等價於a=a^b,意思是a、b的二進位制碼進行第一位的異或運算,結果存放在a裡面。
12樓:
是表示式a = a + b ;的簡寫形式,類似 a *= b 就是 a = a * b;
13樓:我的
表示式的右邊是呼叫函式f,括號內的a,b,c是傳遞到函式中去的引數(實參),將呼叫f所返回的值賦給c(使用者定義的變數),c的型別必須與函式返回值的型別一致
14樓:偷心的賊
應該是這樣的,「c」是某種變數,發f(a,b,c)是一個返回「c」類變數的函式,其中a,b,c分別是函式的引數
15樓:匿名使用者
等同於a=a+b
就是將原來a的值與b相加,然後將結果賦予a
16樓:匿名使用者
把 a+b 的值賦給 a
17樓:匿名使用者
a=a+b;
其他運算子同理
a&(-a)在c++裡面是什麼意思?有那些應用?
18樓:匿名使用者
對於是用補bai碼的環境,a和-a相與du可以獲得a最低zhi的非0位。
-a就是a取反加dao1
比如a的二進位制是內 ??????10000,取容反就是??????01111,加1就是??????
10000。前面?的部分是和原來a相反的,相與必然都是0,所以最後整體相與的結果就是00000010000。
19樓:匿名使用者
先負運算再進行與運算,應用同加減乘除
c語言中,&a+1和&(a+1)的區別是什麼
20樓:匿名使用者
語句中,b = *a+1 -- 指標a 指向的數值加1,*a 是數值, b 等於 那個數值 加 1。
或 把a看成陣列元素 b = a[0] + 1;
*(a+1) -- 指標 (a+1) 指向的數值b = *(a+1) -- 可以看成陣列元素 b = a[1];
21樓:匿名使用者
a是指標?是的話,&(a+1)就是a指標指向的地方+1(型別)的位置;若是指向的是陣列的話,&a+1就是增加整一個陣列的地址了。比如int b[8],*a=b,&a+1就是增加4*8=32個位元組了。
22樓:聽不清啊
c語言中,
"a"佔2個位元組,一個'a'和一個'\0'(字串結束符),它是一個字串。
'a'就只佔一個位元組,即單個字元'a',它是一個字元。
23樓:匿名使用者
c語言為了使寫法更方便,單條語句更簡短,增加了縮寫形式。
這兩種方式是一樣的,沒有任何區別。
除此之外,還有a *= 1,a %= 1,只要是操作符都可以。
24樓:我是你0爸
呃,,,樓上的各位都沒有答到本質上 從本質上講,「a」是一個指標常量,而'a'則是一個數值。也就是說,在編譯器看來,「a」的值是一個地址(比如:0x84f39ea0),而'a'的值則是a的ascii碼(即97)。
樓主用printf列印這兩個值看看就知道了 另外,當「」裡的字串有多個字元時,它指向字串的第一個字元。
25樓:匿名使用者
&a+1是a的地址加上1,&(a+1)是(a+1)的地址
&是地址運算子和引用運算子
26樓:匿名使用者
注意,後者是非法的。
27樓:匿名使用者
int b[2];
int *a;
a=b; //a指向陣列b首地址,暨b[0]的地址*a + 1 // *a就是取a指向地址的值,暨b[0],所以*a+1 == b[0]+1
*(a+1) // a+1,指標+1,就是指標指向下一個地址,暨b[1]的地址,所以*(a+1)== b[1]
28樓:燕清揚
例如a=2;
a++;輸出結果為2;但是記憶體中它的值自加1了。(先輸出a再運算)例如a=2;
++a;輸出結果為3;記憶體中也是3.(先運算a再輸出值)。
例如a=2;
a+=1;意思等同於a=a+1;
29樓:匿名使用者
取a的地址加1
取a+1的地址
30樓:匿名使用者
a++:a先建立自身的一個副本,然後a自增1,最後返回副本的值a+=1: 事實上相當於++a
a=a+1: 雖然有點雷同於a+=1,但不同的是此時右值的a和1做相加操作,形成一個副本然後賦值給a,所以有額外操作
++a:將a自增1並返回a
鑑於a++和++a的差別,c++primer建議用++a作為for迴圈的遞增量。
以上討論不僅限於int,還著重於對類的過載設計時的考慮。
31樓:認不倒你
&a+1 :a的下一個位置的指標
&(a+1): 錯誤
32樓:
事實上是一樣的
a>>=1的意思就是a>>1並賦值給a;
可能執行的效率會有錯
33樓:曉呈呈
a++ 先取值再自加
++a 先自加再取值
a+=1 等同 a=a+1
34樓:匿名使用者
這裡的a=&a[0][0];
a+1=&a[1][0],也就是過了一個a[0][1],因此是加了8個位元組
&a+1是跳過整個陣列的地址,也就是加了16位元組
35樓:匿名使用者
a是相當於a[0][n]
a+1是a[1][n]
n是幾就差n*4個位元組嘍
a就是陣列首地址地址
c++中(++a)和(a++)有什麼區別?
36樓:匿名使用者
你可以這樣來想:++a和a++,都是個表示式,最後的結果就取決於是先加,還是後加,如果是先加,那麼最後的表示式的結果就是a的值加1,如果是後加的話,則表示式的值就是原來a的值;而無論是先加,還是後加,a的值計算後一定會加1。
比如:如果a=1,b=a++,運算完b=1,a=2
如果a=1,b=++a,運算完b=2,a=2
當然也可以這麼理解:
a++就是a=a+1,其含義就是現將後面的a賦值給前面的a然後再加1.
++a就是a=1+a,其含義就是先對後面的a加1然後再賦值給前面的1.
但這只是在表示式中.
如果在單獨的語句中二者都沒有什麼區別!
列:int a=1,b=1;
a++;++b;//這裡就是語句!
printf("%d%d",a,b);
輸出都是2.
而表示式則是if((a++)==1)和if((++a)==1)這裡就有區別了!
呵呵,謝謝.
37樓:邱全於駿英
一般來說他們的區別在於混合表示式中運算子的處理順序。
a++是先處理其他運算,然後a再自加;
而++a則是先處理a自加運算,再處理其他表示式運算;
如果只是單純的表示式a++;或者是++a;這兩個表示式的結果就沒什麼區別。
譬如是#include
using
namespace
std;
void
main()
計算的結果是a=2,b=1,c=2
c=++a是表示式先處理自加運算後處理賦值運算;
b=a++是表示式先處理賦值運算後處理自加運算;
38樓:開萱由琬
對於a這一變數本身而言,效果等同為自增1,比如a++;和++a;是等價的。但要是說如下語句:
inta=1;
printf("&d",++a);和printf("&d",a++);的結果不同,前者為2,後者為1;
即++a是先自增後使用,a++是先使用後自增。
還希望能讓您滿意
39樓:匿名使用者
an和a的區別,用法區別
40樓:匿名使用者
例如n,在執行++a時,先變成n+1,然後再執行程式,執行完一邊程式後變成n+2再執行,依次迴圈。
n在執行a++時,先執行一遍程式,然後變成n+1再執行,依次迴圈。
也就是說++a表示先增加,然後執行;a++表示先執行後再增加。
這樣說也不知道你是否能懂,呵呵。
41樓:瑪利亞燕
(++a)是先加後用
(a++)是先用後加
例如:a=2,b=a++:則b=2,a=3;
a=2,b=++a ,則b=a=3
42樓:七個字是最長的
+在前就是先讓a=a+1,然後使用a的值
+在後就是先使用a的值,然後讓a=a+1
簡單好記
c中的是什麼意思,C中是什麼意思
主要有兩個用法 一個是輸出運算子 如cout 5 另一個是移位運算子,n 就相當於c語言中的 左移,相當於乘以1 3,變成8 include using namespace std int main int a cin a 輸入一個數 cout c 中 是什麼意思 如果是cin a 表示輸入值到變數...
在c中是什麼意思,c是什麼意思
和 用法差不多 a b,a a b 是按位或並賦值的意思。若有兩個整型變數a和b,那麼a b 就是a a b 的意思。一 釋義 是不等於號的意思。如 if c 2 判斷 c 不等於 2 二 c 的簡單介紹 c 是在c語言的基礎上開發的一種通用程式語言,應用廣泛。c 支援多種程式設計正規化 物件導向程...
C中textBox1Text2是什麼意思
還有別的格式可以寫,如 textbox1.text textbox1.text 2 他們是等價的 他的意思就是把textbox1.text本身的內容,後面接上字元 2 也就是 2 之後,再這個資料再存回到textbox1.text裡去 實際上它是 textbox1.text textbox1.tex...