1樓:匿名使用者
char *s;//定義一個字元類指標
s="olympic";//s指向的是字串 "olympic" 裡的第一個字元 "o" ,s可理解為字串
第二句若改成指向字元類指標的指標就可以正確賦值了,如下:
char **s;
s = ;
這樣的s可理解為指向字串的指標,也可以理解為二維陣列
2樓:匿名使用者
可以這麼理解第二句:
char *s;//定義一個字元型指標,即可以理解為字串;//這個是一個長度為一的字串陣列,裡面只有一個字串,但它是一個陣列
所以字串型別的s不能與字串陣列的等起來所以可以改成:
char **s;//這裡有兩個*號s=;
3樓:
定義s是字元指標,第一個s就是賦了個字串。第二個「{}」,指令碼語言裡定義有,c語言裡沒有啊。
4樓:手機使用者
樓主是把 = 和 == 弄混淆了。在c語言裡,一個 = 是賦值,兩個連著寫成 == 才是做比較是否相等。你把這裡改成 if(j==0) i++;else i--; 就是你期待的結果 i值為11了。
if括號裡面的判斷條件也看作表示式,這個表示式的值是0時,其表示布林型的false,值為非0時,表示true。所以一個括號裡面寫成賦值語句 ,其結果就是表示式值為 0,所以 if(false) 然後就執行 else 的語句去了。
c語言 判斷直接賦值問題
5樓:匿名使用者
首先判斷y是否大於z,若大於,則執行 x+2這個語句,並把x+2的值賦給x
若小於,則先執行x-2,然後將x-2的值賦給x,
然後執行逗號表示式,得到的值為2(最後一個,但對結果沒有影響,由於=的優先順序要大於逗號表示式的優先順序,所以語句會先賦值,然後進行逗號執行)
6樓:匿名使用者
先執行(y>z)如果是真,則執行x=x+2,否則執行x=x-2,3,2。x=x-2,3,2後面的逗號為逗號運算子,按順序執行,結果為最後一個逗號後的內容。所以我認為如果執行這句的話結果應該是2
7樓:匿名使用者
表示式1,表示式2
逗號表示式的求解過程是先求解表示式1,再求解表示式2,整個逗號表示式的值是表示式2的值。
可以看出你給的表示式為一個(表示式3)?:表示式1:表示式2的結構,表示式3為真時值為表示式1的值,否則為表示式2的值.
據此x= (y>z) ? x+2:x-2, 3,2執行過程是先看y是否大於z,結果真執行x+2,假則為執行x-2,3,2.
從左至右執行.假設進入該語句是x=3,y=2,z=1,則結果為x=5,若y=2,z=3,則為2.
c語言中賦值語句有什麼規則要求
8樓:mono教育
賦值語句是由賦值表示式再加上分號構成的表示式語句。 其一般形式為: 變數=表示式。
由於在賦值符「=」右邊的表示式也可以又是一個賦值表示式,因此,下述形式變數=(變數=表示式);是成立的,從而形成巢狀的情形。其之後的一般形式為:變數=變數=…=表示式;
在變數說明中,不允許連續給多個變數賦初值。如下述說明是錯誤的:inta=b=c=5必須寫為inta=5,b=5,c=5;而賦值語句允許連續賦值。
賦值語句
將確定的數值賦給變數的語句叫做賦值語句。各程式設計語言有自己的賦值語句,賦值語句也有不同的型別。所賦「值」可以是數字,也可以是字串和表示式。
注意很多語言都使用「等於號」(即「=」)來作為賦值號,所以可能和和平時的理解不同,在使用的時候應予以注意。
9樓:匿名使用者
上一節我們學習了c語言中的單目運算子,這一節我們學習c語言中賦值操作需要注意的點。
下列c語言賦值語句中正確的是,不正確的是,為什麼
10樓:匿名使用者
1全部1是正確的。c=22的值是給c賦值22;b++是先參與表示式計算,後自加。所以表示式相當於:
c=22;
d=c-b;
b=b+1;
2是不正確的。強制型別轉換要加括號,應該是:
k = (int)(a+b);
3是正確的。單獨一個分號是空語句的意思,不做任何操作;
4也是正確的。大括號表示一個邏輯塊,只有一分號表示這個邏輯塊中只有一條空語句。
11樓:孟羽然
1、正確。c=22的值是22;b++是先參與表示式計算,後自加。所以表示式相當於:
c=22;
d=c-b;
b=b+1;
2、不正確。強制型別轉換要加括號,應該是:
k = (int)(a+b);
3、正確。單獨一個分號是空語句的意思,不做任何操作;
4、正確。大括號表示一個邏輯塊,這個邏輯塊中只有一條空語句。
12樓:匿名使用者
2是不正確的
1.d=(c=22)-(b++); 等於 c=22;d=c-(b++)
3.;就是什麼都不做
4.跟3一樣
13樓:
1)是正確的
2)不正確,應該是強制轉換(int)(a+b)3)是語句,但不是賦值語句
4)是複合賦值語句
14樓:
2)不正確,應該是強制轉換要帶括號k=(int)(a+b);
c語言中語句中 "連等" 問題
15樓:董茜茜
第一題a=4,b=4。賦值語句是將c的值分別賦給a和b
第二題a=2,b=2。a=b>=c?d:
b等價於a=((b>=c)?d:b)其中b>=c為假則((b>=c)?
d:b)的值為b的值,然後將b的值賦給a。因此a=2,b=2
16樓:匿名使用者
連等關鍵有兩點:
1、運算子的優先順序跟結合性。
2、一個賦值表示式是有值的,值就是被賦的值,比如a=3 ,這個賦值表示式的值就是3,若有b=(a=3),則b的值為3.
例如:a=b=c中只有一個運算子,等號,所以優先順序是一樣的,而等號的結合性是從右向左的(也就是等式從右往左計算),所以a=b=c 等同於 a=(b=c),故a=4,b=4;
17樓:匿名使用者
這兩題關鍵兩點:
1.運算子的優先順序跟結合性。
2.一個賦值表示式是有值的,值就是被賦的值,比如a=3 ,這個賦值表示式的值就是3,若有b=(a=3),則b的值為3.
第一題:a=b=c中只有一個運算子,等號,所以優先順序是一樣的,而等號的結合性是從右向左的(也就是等式從右往左計算),所以a=b=c 等同於 a=(b=c),故a=4,b=4;
第二題:
優先順序 : 關係運算子》"?:">賦值運算子,故a=b>=c?d:b 等價雨 a= ( (b>=c)?d:b );
所以 a=2,b=2;
關於運算子的優先順序可以參考
18樓:
1:a=4;b=4;
2: a=2;a=2.
19樓:匿名使用者
問題1可能是a=4,b=4
問題2是a=b=2
c語言中賦值表示式跟賦值語句有什麼區別如題 謝謝了
20樓:王蕾蕾
後者帶分號,是一個完成的語句,可以參與編譯的,表示式不行採納哦
為什麼下面的語句不是正確的賦值表示式?
21樓:黎約踐踏豬
1全部三個都是錯的, 賦值語句,右運算(從右向左運算),最後的值賦的值給了 = 號右邊的變數; 1.賦值運算一般編寫的時候不常用連續賦值的,就算真的要連續賦值,也是右值也都應該是一個變數,故 a a=7+b+c=a+7 b a=7+b++=a+7 都是錯的,連續賦值時,= 號右邊(中間部分)是表示式,不是一個變數 2.賦值運算,最後都是要把算出來的一個值,賦值給最左最左邊的變數,左邊必須是一個變數,用來接收 返回的值,不能使表示式,故:
c a+1=7+b,b++,a+7 也是錯的!
22樓:廖小明
a: 賦值運算時,出現在賦值運算子左邊的表示式應該是引用一個儲存物件,例如變數。不可以是一個數值計算表示式。
所以錯! b:同上 c:
不用看 明顯是錯的,a+1=7+b,b++,a+7 看看=號左邊和右邊 a+1 是變數,可惜不能成為儲存物件,右邊一切正常 7+b,b++,a+7(不理會語法的情況下) 題目考的應該是:賦值運算時,出現在賦值運算子左邊的表示式應該是引用一個儲存物件,例如變數。不可以是一個數值計算表示式。這句話
23樓:凌風柏得
3個都是錯的 a裡邊7+b+c是右值,無法被賦值 b裡邊7+b++同樣的道理 c裡a+1也是右值,無法被賦值
24樓:允兒
樓主該好好看看左值和右值,左值的意思就是可以放在賦值符號左邊的變數或表示式。
25樓:灰機
c明示不是賦值語句 a+1=7+b是判斷語句 a+7根本不是一個語句
26樓:雲凝冬
c肯定錯的,a+7賦值給誰也不知道。 a,b應該是可以的
c語言列舉型別賦值的問題
27樓:匿名使用者
定義一個變數是列舉型別,可以先定義一個列舉型別名,然後再說明這個變數是該列舉型別。
例如:enum weekday;
定義了一個列舉型別名 enum weekday,然後定義變數為該列舉型別。例如:
enum weekday day;
當然,也可以直接定義列舉型別變數。例如:
enum weekday day;
注意。① 列舉元素不是變數,而是常數,因此列舉元素又稱為列舉常量。因為是常量,所以不能對列舉元素進行賦值。
② 列舉元素作為常量,它們是有值的,c 語言在編譯時按定義的順序使它們的值為,1,2,…合法
C語言for迴圈賦值問題,C語言中用for迴圈賦值陣列
在第一次迴圈以後,漏掉了將j清零的操作,這樣在i 1與i 2時,j 4,不會進入輸出的第二級迴圈 c語言中用for迴圈賦值陣列 include main a 0 到a 9 這10個數依次賦值0到9for i 0 i 10 i a i i a 20 到a 29 這10個數全部賦值成9for i 20 ...
c語言中賦值
b a,b中的值是5,a中的值還是5,要是寫a b,由於b沒有賦予初值,編譯器可能報錯或者a被賦予一個隨機值!int a,b a 5 b a,這時候 a 和 b 都等於 5。int a,b a 5 a b,由於 b 為賦值,所以 a 和 b 的值都不確定。int a,b a,b中均是隨即數a 5 a...
C語言賦值和初始化的區別,c語言賦值中什麼叫初始化賦值,和賦值有什麼區別嗎
在定義了一個變數後就會給變數分配一個地址,但不會自動賦值,只有執行的時候,若變數依然沒有賦值,結果要使用此變數的時候會隨機賦值。定義一個某型別的變數,系統就會給它分配一個地址,大小就是這個型別的大小。如果你沒初始化,系統中這個變數指向的地址裡邊可能以前已經存了一個數,這個數是多少?未知的。所以說變數...