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