c語言程式中a1表示什麼,C語言程式中a0a1表示什麼?

2021-03-04 00:15:27 字數 6682 閱讀 7847

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...