在C語言中,若有定義 static int x 32,3,4,5,6,7,則表示式x

2021-03-28 01:14:08 字數 5259 閱讀 1387

1樓:s飯糰

答案該是5 我看錯了

2行3列

2 3 4

5 6 7 x[0]就表示 第0行第0列的數 x[1]表示 第1行第0列的數

在c語言中,表示式5>3&&2||8<4-!0的值為多少?

2樓:帝鎍

正常思路:由於邏輯運算子優先順序別低於

比較運算子同時這兩種都低於算術運算子,因此先考慮後半部分,4-!0真值為1,而8<1的真值為0.再考慮或左邊的表示式,5>3&&2顯然真值為1最終結果為1||0當然結果為12)有||將表示式分成兩部分左邊的是5>3&&2顯然其真值為1因此1||任意真值都為1不用算後面的了。

真值為1

3樓:奧宇斯汀

你這個看運算子的優先順序以及短路運算。結果是 1

> 的優先順序 高於 && , &&高於 ||

優先順序 運算子 名稱或含義 使用形式 結合方向 說明

1 陣列下標 陣列名[常量表示式] 左到右

() 圓括號 (表示式)/函式名(形參表)

. 成員選擇(物件) 物件.成員名

-> 成員選擇(指標) 物件指標->成員名

2 - 負號運算子 -表示式 右到左 單目運算子

(型別) 強制型別轉換 (資料型別)表示式

++ 自增運算子 ++變數名/變數名++ 單目運算子

-- 自減運算子 --變數名/變數名-- 單目運算子

* 取值運算子 *指標變數 單目運算子

& 取地址運算子 &變數名 單目運算子

! 邏輯非運算子 !表示式 單目運算子

~ 按位取反運算子 ~表示式 單目運算子

sizeof 長度運算子 sizeof(表示式)

3 / 除 表示式/表示式 左到右 雙目運算子

* 乘 表示式*表示式 雙目運算子

% 餘數(取模) 整型表示式/整型表示式 雙目運算子

4 + 加 表示式+表示式 左到右 雙目運算子

- 減 表示式-表示式 雙目運算子

5 << 左移 變數《表示式 左到右 雙目運算子

>> 右移 變數》表示式 雙目運算子

6 > 大於 表示式》表示式 左到右 雙目運算子

>= 大於等於 表示式》=表示式 雙目運算子

< 小於 表示式《表示式 雙目運算子

<= 小於等於 表示式<=表示式 雙目運算子

7 == 等於 表示式==表示式 左到右 雙目運算子

!= 不等於 表示式!= 表示式 雙目運算子

8 & 按位與 表示式&表示式 左到右 雙目運算子

9 ^ 按位異或 表示式^表示式 左到右 雙目運算子

10 | 按位或 表示式|表示式 左到右 雙目運算子

11 && 邏輯與 表示式&&表示式 左到右 雙目運算子

12 || 邏輯或 表示式||表示式 左到右 雙目運算子

13 ?: 條件運算子 表示式1? 表示式2: 表示式3 右到左 三目運算子

14 = 賦值運算子 變數=表示式 右到左

/= 除後賦值 變數/=表示式

*= 乘後賦值 變數*=表示式

%= 取模後賦值 變數%=表示式

+= 加後賦值 變數+=表示式

-= 減後賦值 變數-=表示式

<<= 左移後賦值 變數<<=表示式

>>= 右移後賦值 變數》=表示式

&= 按位與後賦值 變數&=表示式

^= 按位異或後賦值 變數^=表示式

|= 按位或後賦值 變數|=表示式

15 , 逗號運算子 表示式,表示式,… 左到右 從左向右順序運算

c語言多級指標問題static int a[][3]={{1,2,3},{4,9},{7}};

4樓:匿名使用者

(總感覺你抄錯題了)

由a的定義知道a是3行,3列陣列。

1 2 3

4 9 0

7 0 0

while迴圈,總共執行了3次,在迴圈體內專i的值是1,2,3因為屬p是一個指標陣列,其中的三個元素分別指向了a的三行。

所以p[i][j]其實就是a的第i行第j列*(*(p+i)+i) 表示的就是 a[i][i]*(*p+i) 表示的是a[i][0]

所以三次迴圈執行的是:

a[1][1] = a[1][0] + 3 = 7;

a[2][2] = a[2][0] +3 = 10;

a[3][3]其實是不合法的地址

printf *p[0]其實是a[0][0] 也就是 1printf *(*(p+1)) 是a[1][0]也就是4

c語言若有定義int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;則陣列不為3的表示式是( )

5樓:ice繁華

答案是c..我解釋是這樣,供你參考:b解釋,x為陣列首地址,+3就是向後移動三個地址,指標指向數值3的位置,將地址賦給指標變數p1,因為運算子++比*高一級,所以先執行p1++,但是看清楚,這裡的p1的地址值沒變,接著執行*運算子,取值就為3...

你的問題在於:p++在此次運算並不會加1,只能在下次呼叫到p值時,才是已經加了1的...

6樓:匿名使用者

運算子++和*優先順序不相同,結合性自右向左,因此*p++等價於*(p++),其作用是表示式先得到p所指向的元素的值(即*p),然後再使p指向下一個。

這裡p1的初值為x+3,則*p++的 結果是x[0],p指向a[1]。

c語言大神幫忙編寫程式若有二維陣列int a[3][3]={{1,2,3},{4,5,6},{7,

7樓:匿名使用者

#include

int main()

,,};

int i,j,temp;

for(i=0;i<3;i++)

for(j=0;j轉置

bai後du的zhi

矩陣dao為回:答\n");

for(i=0;i<3;i++)

return 0;}

若有以下定義int x=3,y=2,則表示式y+=x–=y後的y值為

8樓:匿名使用者

y = y + (x-=y)

y = y + (x = x - y)

y = y + (x = 3 - 2) 此時,x = 1y = y + 1

y = 2 + 1

y等於3,x等於1

9樓:育知同創教育

一步一步來y+=x是5

5-=y是多少呢就出來了

答案是3。

int x[3][3]={1,2,3,4,5,6,7,8,9};是什麼意思

10樓:小猥瑣之葉子

在x[3][3],其陣列元素實際為x[0][0],x[0][1],x[0][2],x[1][0],x[1][1],x[1][2],x[2][0],x[2][1],

x[2][2]。所以是將1,2,3,4,5,6,7,8,9賦值給x[0][0],x[0][1],x[0][2],x[1][0],x[1][1],x[1][2],

x[2][0],x[2][1],x[2][2]這九個元素。

11樓:匿名使用者

你這個c語言要好好補補了!

這是個二維陣列表示x[0][0]=1,x[0][1]=2,後面的依次來就ok了!!

12樓:匿名使用者

這是一個二維陣列的初始化。

相當於從x[0][0]到x[2][2]依次賦值。

分別為1,2,3,4,5,6,7,8,9

13樓:淺水魚

定義的一個整形的二維陣列相當於即x【m】【n】m1 1,2,3

m2 4,5,6

m3 7,8,9

14樓:

二維陣列,相當於int x[3][3]=,,}

15樓:塗博麗禹銘

二維陣列在記憶體中是如下儲存的,按行進行儲存的x[0][0]

9x[0][1]

8x[0][2]

7x[1][0]

6x[1][1]54

x[2][0]32

1其實也可以看做一維陣列的儲存

x[0]----x[8]

x[0]=9

x[1]=8

x[8]=1

因為儲存的時候都是一樣的

p指向的是

x[1][1]

也就是說

p[0]

=x[1][1]

p[1]

=x[1][2]

p[2]

=x[2][0]

所以結果就是那樣了。

這裡並不是拆分,而是計算的相對位置。

求採納為滿意回答。

在c語言中,若有定義:int a=1,b=2,c=3,d=4,x=5,y=6; ,則表示式(x=a

16樓:皚虎

inta=1,b=2,c=3,d=4,x=5,y=6; ,則表示式

(x=a>b)& & (y=c>d)

// a>b 不成立 則為假為0,x=0.

&&符號要求倆個都為真才輸出真,所以表示式為假等於0

下列二維陣列定義為什麼錯了。 int x[2][3]={1,2,3,4,5,6}

17樓:法ke優切克鬧

你可以理解{}就是一個陣列,而你定義的二維陣列,你用一維陣列去初始化,這樣就報錯啦

int x[2][3] = ,}這樣就對了。電腦很笨的,不知道你6個元素是要這樣放。

18樓:物聯網的海角

這個二維陣列是正確的,沒錯

c語言中某檔案裡定義的static變數那麼另

不能,但用extern可以 在c語言中,一個檔案中定義的 全域性變數,在另一個檔案中能用嗎?全域性變數extern可以 copy在其他源程式中使用 全域性變bai量dustatic只能在本程式中使用。zhi 全域性變數是使用相同的記憶體塊在整個dao類中儲存一個值。全域性變數既可以是某物件函式建立,...

C語言中static變數的賦值問題

static int a 0 執行期時初始化一次,下次再呼叫時,不進行初始化工作如下 printf d a a int main staticlocalvar 第一次呼叫,輸出a 0 staticlocalvar 第二次呼叫,記憶了第一次退出時的值,輸出a 1 return 0 擴充套件資料 1 s...

C語言關於巨集定義的習題,C語言中關於巨集定義的一道計算題

fudgf 5 x 等價於 2.84 y x,此時y 5,x 2 故結果為 2.84 5 2 12.84 轉為整型即為12,你理解錯了,如果將 define fudgf y 2.84 y 定義成 define fudgf y 2.84 y 這樣算出來的結果即為15 define fudgf y 2....