1樓:魚死吾蒸
是a[0]=a[1];吧?
表示把a[1]的值賦給a[0],
即是讓陣列
裡面的第乙個值a[0]等於陣列的第二個值a[1]比如:int a[3]=; //陣列裡面有3個值1,3,5a[0]=a[1]; //把a[1]的值賦給a[0]最後陣列裡面的三個值就變成了了
2樓:匿名使用者
寫錯了吧,中括號都不配對
在c語言裡面,&a[0]++和&a[0]+1分別表示什麼意思?
3樓:
&a[0]++;是錯誤語句,編譯都不會過。因為++是後++,在執行該語句時是不計算的,所以a[0]++是個表示式而不是值,顯然用&取乙個表示式的位址是非法操作!而如果是&++a[0];則是正確的,因為前++在執行&時已經計算過了:
就是先給a[0]+1,然後再取a[0]的位址。
&a[0]+1;是正確語句,因為&的優先順序比+高,所以是先取a[0]的位址再給這個位址+乙個元素所佔位元組數——就是說&a[0]+1是a[1]的位址。
4樓:匿名使用者
&a[0]++表示程式執行時會對執行結果自加1
&a[0]+1表示程式執行時對結果加上1,如果改為2就會加上2
5樓:一輩子朋中
他們的結果一樣,都是a[0]的位址加一
6樓:百度使用者
a[0]表示陣列a 的第乙個元素,
&a[0]是取a[0]在記憶體中的位址
&a[0]++是將a[0]在記憶體中的位址向前移動乙個單位.
理論上&a[0]+1和&a[0]++的執行效果是差不多的
7樓:匿名使用者
不一樣!
++的優先順序比&高,&比+高!
所以&a[0]++是進行a[0]=a[0]+1之後,在取a[0]的位址
而&a[0]+1是先取a[0]的位址,然後將指向這個位址的指標(假設int *p;p=&a[0];)移動乙個資料長度,即指向了a[1];
&a[0]++
就是&a[0]+1就是
8樓:匿名使用者
這要看你要說的是
一維陣列還是二維陣列了,如果是一維,答案同atchoo,要補充的是,向前移動的是陣列資料型別所佔的記憶體空間,比如是int,就移動2個單元;如果是二維,
a[0]表示第一行首位址,&a[0]表示第一行第一列首位址,&a[0]++就是把第一行第一列的元素加1.
9樓:匿名使用者
有人說a = a + 1;比a++;慢,但現在的編譯器結果是一樣的.
10樓:信培勝戊衣
編譯錯誤如下,都是取得陣列a的第二個元素的位址&a[0]++與&(a[0]++)等價:6,無法編譯通過,不能取得位址;
表示a[0]++不是乙個左值:
non-lvalue
inunary
`&'.cpp:
main。
而&a[0]+1與a+1和&a[1]是等價的
c語言程式 a = number[1][0]是什麼意思
11樓:匿名使用者
number 是乙個二維陣列,在上面的#define s n中需要把n改成乙個確定的數,比如1,2,3之類的,這個陣列就回
相當於2行n列的矩答
陣,a = number[1][0]; 相當於把第二行的第乙個元素值賦值給a
12樓:匿名使用者
賦值,將number[1][0]//number第二行第一列的值賦給a
13樓:草叢裡的落葉
將number陣列中number[1][0]元素的值賦值給變數a。
c語言中!a==1是什麼意思
14樓:匿名使用者
1樓是錯的
!操作符優先度比==高
所以只要a是0 !a就是1, 所以返回1
如果a不是0, 則!a就是0, 所以返回0所以等價於判定a是不是等於0
15樓:藍色_靈魂
可以理解為a等於0
!操作符優先度比==高,先計算!a
如果a=0則返回值為真,只要a不等於0則返回值為假
16樓:匿名使用者
!優先順序要打於==
所以是先求!a然後再求==
如果不是這個意圖可用使用括號來表明邏輯:
!(a==1)
或(!a)==1
這樣描述更清晰.
17樓:瘋狂的羅素
!表示非,==表示驗證是否等於,!優先順序高於==,先執行!,在驗證是否等於1.
18樓:比微礁
!優先順序要打於==......!a==1等價(!a)==1
19樓:匿名使用者
!a的含義是:如果a為假,則!a為真,如果a為真,則!a為假。為真就輸出1,為假就輸出0。題中!a=1就是說a為假,!a為真
20樓:輝楚達鳥
a=a-=a*=a
從右bai往左計算
a*=a就是a
=a*a,
此時du
a為原來的平方
a-=(a*a),就zhi是a=
a-a,其中a為最初a的平方,但dao是不管它是多少,a-a都是專0
,此時a=0
a=a,也就是a=
0最後屬a=0
21樓:匿名使用者
這裡的a=&a[0][0];
a+1=&a[1][0],也就是過了乙個a[0][1],因此是加了8個位元組
&a+1是跳過整個陣列的位址,也就是加了16位元組
22樓:匿名使用者
a是相當於a[0][n]
a+1是a[1][n]
n是幾就差n*4個位元組嘍
a就是陣列首位址位址
c語言中下面**a[i][j]=0什麼意思??
23樓:
int a[11][20],定義的是二維陣列,a[i][j]表示第i+1行,第j+1列的陣列元素;
a[i][j]=0; 表示對這個陣列元素賦值。
c語言中為什麼'a=0'不是字元常量?為什麼a+1=a是錯的?a+=a+1表示什麼?
24樓:gta小雞
乙個字bai符du常量只能含有乙個字元
zhi,而'a=0'由三個字元dao構成,因而它不是字專符常量。不過實際上,屬'a=0'是乙個多字元字元常量(multi-character character constant),它屬於unspecified behavior,因此通常不作討論,認為它是錯的就可以了。
賦值號的左邊必須是乙個左值,a+1是乙個右值,因而不能放在賦值號的左邊。
a+=a+1相當於a=a+(a+1),計算2a+1的值,並賦值給a。
25樓:匿名使用者
1.你這個
不bai是單字元,是三個字元,嚴格du說你這個是zhi乙個字串,你dao這個是乙個值,左邊沒有常回量名
2.賦值答號的左邊不能是表示式,只能是變數,這個不管是什麼語言都是這樣規定的
3.a+=a+1,應該是先a=a+a,然後a=a+1
26樓:瞪附吃屹
'a' ,看到了嗎?這個是字元常量,你那個是字串常量;c中字元常量是單引號括起來的乙個字元
c語言中a-=a是什麼意思
27樓:我是果瘋
a-=a的意思為a=a-a,先用a減a,然後再將得到的結果賦值給a。-=實際上是一種縮寫形式,使得對變數的改變更為簡潔。
運算時,可以將其寫成熟悉的形式,從右向左依次計算,注意在每次計算時,變數的值會發生改變, 如不注意,就會導致錯誤的情況發生。
擴充套件資料:復合賦值運算子有下列這些:
符號 功能
+= 加法賦值
-= 減法賦值
*= 乘法賦值
/= 除法賦值
%= 模運算賦值
<<= 左移賦值
>>= 右移賦值
&= 位邏輯與賦值
|= 位邏輯或賦值
^= 位邏輯異或賦值
28樓:匿名使用者
表示a=a-a 即a=0的意思。
1、 -=是c語言中的乙個復合運算子。
2、 -=為雙目運算, 形式為:
a-=b
表示含義為:
a=a-b
3、 相對於a=a-b的形式, a-=b要更簡潔,同時執行效率也略高。
4、對於a-=a,由於左右都是a,所以等效於a=0。
29樓:浙江衛健科技****
a+=a-=a*a;為連續賦值運算,從右向左計算。
於是原始的表達
式等效於:
a-=a*a;
a+=a;
也就是a=a-a*a;
a=a+a;
例如,a=5;
那麼a=a-a*a=5-5*5=-20;
a=a+a=-20 + (-20) = -40;
最終a為-40,表示式整體值也就是a最終值,一樣是-40。
30樓:我二次元穿越
從右往左算
初始值a=12
第一步:a+=a-=[a*=a] ,先算括號裡的 ——> a*=a 即 a=a*a=12*12=144
(經過第一步後,原本初始值a=12已經變成了a=144)第二步:a+=[a-=144] ,括號裡的a-=144,即 a=a-144=144-144=0
(經過第二步後,a的值變成了0)
第三步:a+=0 ,即a=a+0=0+0=0最後答案是:0
31樓:匿名使用者
這裡的a賦值10,這個式子從右往左算,先看a=a*,它表示為:a*=a<=>a=a*a=100,a-=a<=>a=a-a=100-100=0,a+=a<=>a=a+a=0+0=0。如此計算,記住要點為a*=b<=>a=a*b。
32樓:轉轉運動鞋
a的初值呢?
a初值為12時,a+=a-=a*=a結果為0步驟:這個表達
式的運算是從右向左的:
1. a*=a:a=a*a=12*12=1442.
a-=144: a=a-144=144-144=03. a+=0:
a=a+0=0+0=0。希望對你有幫助。
33樓:啊醬咩咩噠
2a-a²
具體計算步驟如下:
1、公式拆分,按照c語言計算方法和原則,這裡的「=」意思是賦值,即將等號右邊的數值賦值到左邊去。
所以公式可以依次拆分為
(1)a1=a*a
(2)a2=a-a1
(3)a3=a2+a
a是原來的賦值
2、以此計算原來的(1)(2)(3)式
結果為2a-a²
拓展資料:
c語言中計算或者賦值式是從右往左進行計算,但是計算具有一定的優先順序,以下是對優先順序的分類:
1、最高端
出現同級別運算子時的結合方向是從左往右(下面級別沒寫結合順序時,預設是從左往右)。
( )圓括號
[ ]下標運算符號
->指向結構體成員運算子
.結構體成員運算子
2、第二級
!、~、++、--、-、(型別)、*、&、sizeof。
這一級都是單目運算符號,這一級的結合方向是從右向左。
比如出現*p++,這時*和++同級別,先算右邊,再左邊。
所以*p++等價於*(p++),而不是(*p)++。
3、第**
+、-、*、/、%
這一級都是算術運算子,結合順序和數學學習中一致的,先乘除取餘數,後加減。
4、第四級
<<、>>
這是左移、右移運算子,位運算時可能需要用到。
5、第五級
<、<=、>、>=、!=、==
這些運算子也稱為關係運算子,其中<、<=、>、>=高於!=、==。
6、第六級
&、^、|
這三個符號也是位運算符號,其中內優先順序,&>^>|。
7、第七級
&&、||
邏輯與&&優先順序大於邏輯或||。
8、第八級
? :
也稱為條件運算符號,是c語言中唯一的乙個三目運算子,結合順序是從右往左。
9、第九級
=、+=、-+、*=、/=、%=
這些運算子也叫做賦值運算子,除此之外,>>=、<<=、&=、^=、|=這些賦值運算子也在這一級別內,結合順序是從右往左。
10、最低階
,逗號運算子也稱為順序求值運算子,在c語言中,運算級別最低。
34樓:墨藍
a初值為12時,a+=a-=a*=a結果為0步驟:這個表
達式的運算是從右向左的:1. a*=a:
a=a*a=12*12=1442. a-=144: a=a-144=144-144=03.
a+=0: a=a+0=0+0=0。
c語言菜鳥求教請問下面這段解釋中a1表示
對啊,a 1 就是表示a 1 的儲存位置的,a num 表示的實質就是a num 只是寫法不一樣,a num 更接近本質。他沒錯,你也沒說自錯,但你理解不到位。a 1 是陣列元素。但a是二維陣列,那你就要再進一步理解了。因為a是二維陣列名,即是一維陣列a 0 a 1 a 2 的首位址。a 1就是 a...
C語言程式程式設計,如何編寫C語言程式
把你的思路想好,想要達到什麼樣的功能,思路清晰後就可以一個一個功能的去寫,出錯了不用急,想一下自己錯在什麼地方,好好的看一下 雖然這樣做會花很多 的時間,但是這樣做會提高自己的閱讀分 能力,啊?書上不是有麼 自己學著寫啊 10.include main printf n 如何編寫c語言程式?首先,你...
用c語言編寫程式,得出1 ,用C語言編寫程式,得出1 1 2 1 3 1 100的值
include int main void printf num d n num return 0 include int main 這樣是不更簡潔呢?物聯網校企聯盟技術部 void main include void main main printf d sum main 不懂再問,給分哦,親。i...