1樓:
賦值語句沒有錯,錯的應該是變數的說明語句:inta=3應該在變數與型別說明符間加空格以示區別:
int a=3,b=2,c=1;
2樓:
沒有錯啊。
#include
int main()
3樓:匿名使用者
inta=3 這個連起來寫已經錯了。。。
當然,排除你是筆誤。
a=b=c+1,是合法的。沒有錯誤。在vs 2010中可以編譯通過。
4樓:匿名使用者
因為a!=b,這是你給的題目邏輯問題,
但是編譯的時候你那個賦值應該能編譯,沒錯才對。lz你多檢查吧!
5樓:匿名使用者
a=b=c+1的意思是,首先計算出c+1等於2,c的值不變,然後執行b = (c + 1),b變成2,然後執行a = (b = (c + 1)),a的值變成2。
6樓:你不愛歐文
這是語法的問題,也就是規定,具體說就是變數不能在=號的右邊。你這個b在a的右邊了就錯了
7樓:匿名使用者
該語句本身是沒有問題的,你需要提供更錯誤資訊,才能幫你找到錯誤的所在!
8樓:金陵跳跳爸
b=c+1;
a=b;
非常數複製不能用連賦形式的。
9樓:匿名使用者
用vc 或者vs試試 有些編譯器規定的 不能這麼賦值要單獨賦值才可以
10樓:匿名使用者
樓豬,自己寫錯了,哈哈
11樓:匿名使用者
我在vc6.0上試了一下,沒有錯啊
c語言中,inta=3,b=2,c=1,為什麼賦值語句a=b=c+1錯誤了?
12樓:喜伶赫驪英
賦值語句沒有錯,錯的應該是變數的說明語句:inta=3應該在變數與型別說明符間加空格以示區別:
inta=3,b=2,c=1;
13樓:花逸百榮軒
首先「==」的優先性要小於「<」,所以表示式「a==b 14樓:向軼勾飛燕 a=b=c+1的意思是,首先計算出c+1等於2,c的值不變,然後執行b=(c +1),b變成2,然後執行a=(b =(c+1)),a的值變成2。 15樓:斯璧完顏姿 沒有錯啊。 #include int main() int a=3,b=2,c=1; 錯誤的賦值表示式是 a.a=(b=4)=3 b.a=b=c+1 16樓:聽不清啊 因為bcd都是語法上正確的賦值表示式。 而a是語法錯誤的,編譯不能通過的。 c語言賦值表示式問題:若定義有語句:int a=3, b=2, c=1; 以下選項 17樓:滄海雄風 a錯了,不能將3賦值給表示式,b=4已經是個表示式了,既然是表示式就只有真假(即0和1), 而 (a=3*5)=4*3 中的a=3*5 是賦值 18樓:匿名使用者 我在vc++6.0中貼上你的**,編譯執行都通過#include int main() 結果2 4 4 19樓:匿名使用者 賦值語句的物件只能是變數,而不是表示式 b=4已經是個表示式。若換成a=b=3,就對了。 對於b,最後的值:a=2,b=2,c=1 對於c,整個語句是個賦值語句,裡面又巢狀了個b=4的賦值語句,所以,最後的結果是a=5,b=4,c=1 對於d,解法同c,a=5,b=4,c=4. 所以a 是錯誤滴。 c語言 若有定義語句 int a=3,b=2,c=1; 一下選項中錯誤的賦值表示式是 a a= 20樓:匿名使用者 c語言中,賦值號左邊只能是變數,而不能是表示式,答案a中,最右邊的賦值號它左邊是一個表示式(因為b=4使用了括號)而不是變數,所以是錯的 21樓:匿名使用者 a 已經驗證過了,需要左賦值! 22樓:一劍傾心頂你 選a這個題要考慮運算子的優先順序, +-*/優先於= 而且=運算子從右往左算 c語言中,是如何賦值的?a=b+c=1為什麼是錯的? 23樓:剛哥不會文明 賦值端左面只能是一個儲存資料的符號。。你這裡1賦值給b+c,這是不行的。b+c不是一個儲存資料的符號。 我建議你買本清華大學c++版的工具書,譚浩強出的。。那本書裡比較詳細。 24樓:上虞潘永傑 在c語言中只能給變數賦值,不能給表示式賦值,你這個式子的運算順序是從右到左,1是不能賦值給表示式b+c的 25樓:匿名使用者 a=7+b+c=a+7; //不符合,因來為7是const也就是源常量型別,不可以bai對其賦du值,zhi7+b+c含有常量,對其賦值也是錯誤的 daoc=7+b++=a+7; //同上 a=a+7;//可以 --------------------------------------- b++=7是可以運算的,先賦值b=7,再加1 26樓:蛇的獨孤 因為賦值是賦值給變數的,而b+c不是變數……a=b+c是對的,但是b+c=1是錯誤的 27樓:匿名使用者 vb中賦值的話,應該是"變數=值"的形式,只能是"a=1" c語言中a=b,意思是說把b賦值給a,還是說把b裡面的值賦值給a? 28樓:墨汁諾 當a和b為普通變數時, a=b,是把b的值賦值給a, b不變; 當a和b為指標時, a=b, 是把b的指向回賦值給答a, 讓a也可以指向b的指向,b的指向不變; 比如 a=1 b=2 c=3,把b賦值給a 就是 a=b 因為b是等於2的 現在 a=b=2。 把b值賦給a指的是把b的值代入a裡,打個比方,a=b,而b=100,那麼,在這個式子中,把b值賦給a就指的是a=b=100,也就是a=100。 29樓:姚老頭兒 把b裡面的值賦值給a,更準確!一般嫌麻煩簡單的說:b賦值給a,同時b還是原來的值,a改變了! 30樓:獵人的背後 是說把b賦值給a 但是b還是原來的值 若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值表示式是( ) a)a= 31樓:滑雅僕文軒 a錯了。你只需要把握一點,對於賦值表示式來說,賦值號「=」的左邊一定為變數名,右邊為一個c語言合法的表示式。 有問題就追問。 why選a?語句int a=3,b=2,c=1;錯誤的賦值表示式是 a.a=(b=4)=3; b、a=b=c+1; c.a=(b=4)+c d.a=1+(b=c=4) 32樓:201求一份安逸 a=(b=4)=3;這是賦值運算,bai從右至du左結合,但是zhi 這裡有括號b=4會被先執行,執dao行完後結內果為false(零)這容裡沒有問題,後面a的賦值就有問題了,到底是把0賦給a,還是將3賦給a呢?問題在這,你懂了嗎? 33樓:匿名使用者 a=(b=4)=3 先運算 b=4 結果為false 即 0 a=0=3 不是合法語句 include int main 這是我自己理解之後寫的,switch語句中case後要加break,case的所有情況寫完後還要加default語句,表示除 內case外的情況發生容時要怎麼做。本程式就沒有等於a b的情況,需要default語句。case 1 printf n break 分號後... n的值抄仍然為2,沒有改變!過程 先計算a b,值為0,賦給m的值為0,表示式m a b的值也是0。對於 邏輯運算,不管後面 n c d 的值如何,都不影響 m a b n c d 的最終結果,因此,c語言不再對表示式n c d進行計算。因而n的值沒有改變!n的值為2 a 1,b 2 m a b m... a b c 將c的值3賦給b,再將b c的值3賦給a,整個表示式的值是3 a b c vc2005測試結果是3,我自己算應該是1,這個我不是很清楚。a b c 先判斷b c,結果是1,再判斷a 1,結果是0 a b c 先判斷b c,結果是1,再判斷a 1,結果是0 a b c,a b c,a b ...c語言中int a 1,b 3 switch a bcase 1 printfncase 2 1 printfn 對麼?詳解
在C語言中,設有如下定義 int a 1,b 2,c 3,d 4,m 2,n 2則執行表示式 m abn cd 後,n的值為,過程
在C語言中mainint a 1,b 2,c 3 printfd,d,d,d n ,a b c,a b c,ab c ,ab c執行結