1樓:幻の上帝
c在這裡遵循詞法解析的貪婪匹配原則:優先匹配儘可能多字元的符號,無論是否有語法錯誤(因為詞法分析時還沒有語法檢查)。
於是a+++++b會被當作a ++ ++ + b而不是a ++ + ++ b(可能是合法的)考慮。這是非法的表示式,因此產生編譯錯誤。
這個問題在iso c99標準中直接以示例描述,原文如下:
6.46 example 2 the program fragment x+++++y is parsed as x ++ ++ + y, which violates a constraint on
increment operators, even though the parse x ++ + ++ y might yield a correct expression.
====
[原創回答團]
2樓:匿名使用者
(a++)+(++b);
a++=a,a+1;
++a=a+1
3樓:春天還遠不
在vc中編譯時不能通過。但我覺得是這樣((a++)++)+b的!!!
c語言中a+++++b是什麼含義?
4樓:
c語言編譯器對於**的分解採用的是貪心演算法按照貪心演算法分解a+++++b為:
((a++)++)+b
因為a++的結果為左值,而左值不能再進行運算,故a+++++b編譯不能通過
除非寫成a+++ ++b,在++b前面有個空格,這時候根據貪心演算法分解為:
(a++)+(++b)
編譯通過
5樓:匿名使用者
(a++)+(++b)
a原值代入,在該表示式處理完畢後,再自增處理
b先自增處理,再將自增後的值代入該表示式
6樓:西門吹雪
先進行a++,在進行++b,a++式子等於原來的a,而a自增1,所以結果就是a+(b+1),能給分嗎?
7樓:匿名使用者
這個有歧義,最好不要這麼用,可能不同的編譯器出來的結果不同
8樓:新人
(a++)+(++b)?
9樓:來不急停留
就是(c++)+(++b)的意思。
10樓:匿名使用者
字面上是(c++)+(++b)的意思,但是你這樣子編譯得過嗎?
11樓:匿名使用者
我叉,這也能讓你找到。。
在c語言中,++是什麼含義?
12樓:匿名使用者
在c語言中,++的含義是:單目運算子,』++『是原始值累加1。
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。
二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言制定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。
c語言中語句a+=b++是什麼意思
13樓:匿名使用者
先解釋一下 += 和 ++ 是
什麼意思+= 的意思是 左值和右值相加結果賦值給左值如 a=1;b=2;a+=b;後,a=3;b=2。++ 的意思是變數自加1,如a=1;a++;a的值是2,在c中,++有前置和後置如 ++a;a++;,單獨使用的時候是沒有區別的,都是自加1,在有運算時就有區別了,前置的++是自加後才參與運算,後置的++是參與運算後在自加1。如題的畫,假定a=1,b=2,a+=b++的意思就是b=2先參與a+=b運算a=3,然後b自加1,b=3;如果b++換成前置++b,a+=++b就是b先自加1,b=4,然後參與a+=b運算,a=4。
14樓:白蘿蔔
a+=b++要先進行a+=b的運算,然後再進行b的自運算舉例a=1,b=2,則a+=b++,有a=a+b=1+2=3,b=b+1=3.
15樓:匿名使用者
a+=b++的意思是a=a+b,然後b=b+1,就是這樣,你應該是初學c吧!!
16樓:匿名使用者
a+=b++等價於a=a+(b++) 運算時,先計算括號裡面的b++即可。 有疑問提出。 望採納
17樓:哀韶蕭貝晨
要說在c語言中這充其量只能算作是「偽**」。
在vb、pascal等程式設計語言中,<>是「不等於」的意思。
在c中,「不等於」的關係應表示為「!=」
if(a
!=b+c)
printf("a不等於b+c\n");
else
printf("a等於b+c\n");
c語言中a/=b是什麼意思?
18樓:凍情結殤
(a/=b)就是 a=a/b 這是c語言裡面的賦值表示式,a/=a+b 就是 a=a/(a+b) a+=b就是 a=a+b 只是把符號變了位置,前面的東西加減乘除後面的所有。
19樓:匿名使用者
a/=b
等價於a=a/b
希望我的回答對你有所幫助哈
20樓:匿名使用者
a 異或 b
按位異或
比如 a 為 5 --- 0101
b 為 7 ---- 0111
______________
0010
物件位相同為0, 不同為1
21樓:匿名使用者
a除以b的值再賦給a
22樓:匿名使用者
a=a/b 這個意思
23樓:匿名使用者
a/=b意思是:a=a/b
a-=b意思是a=a-b
a+=b意思是:a=a+b
a*=b意思是:a=a*b
祝你c學得順利~~
c語言中a||b是什麼意思呢
24樓:匿名使用者
a和b的邏輯或。
a表示式和b表示式只要有一個為邏輯1,則a||b的邏輯運算結果為邏輯1
c語言中 *b=&a什麼意思 *b和&a分別是什麼含義啊?
25樓:秋楓
*b=&a這種寫法只有在定義時這麼寫才對,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義一個指標b,b裡存的是a這個變數的地址。如果定義好了一個這真b,那麼*b就指b這個變數裡存的地址裡的值(有點繞口,慢慢理解),&為取地址符,&a就是a這個變數的地址。
26樓:匿名使用者
說明b是一個指標變數,其定義應該是這樣:int *b,a;
*是取值運算子,*b就是取b指向儲存空間的值;
&是取地址運算子,&a表示取變數a的地址。
*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。
27樓:餡嘍嘍嘍
(a>b)?a:b
表示如果a>b為真,則取
問號後邊的第一個值,這裡是a
如果a>b不為真,則取問號後邊的第二個值,這裡是b
《表示式1>?《表示式2>:《表示式3>; "?
"運算子的含義是: 先求表示式1的值, 如果為真, 則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假, 則執行表示式3 ,並返回表示式3的結果。
若a-b非零值(即a-b邏輯值為1)則輸出a值;若a-b為零值(即a-b邏輯值為0),則輸出b值。
/ 代表的是 除法。如果 a 和 b 都是整數,不是 float 等這種浮點數,所以結果只保留整數,所以 a/b 算出來是整數。
另外,% 代表的是取餘數,即: 5%3 等於 1 餘 2,結果就是 2
28樓:黑夜巫女
b是一個指標變數,*b = &a是b裡存的是變數a的地址
c語言中a+++b是什麼含義
29樓:
a+++b——(a++)+b的意思。
30樓:聽不清啊
在dev-c++中,它等同於
(a++)+b
c語言中a b什麼時候,c語言中a b什麼時候
a b中的 是按位與操作,其規則為,當a和b對應位上的值均為1時,結果的該位上為1,否則結果該位上為0。即1 1 1 1 0 0 0 1 0 0 0 0 所以,a b結果為1的情況有很多種,只要a和b的最低位均為1,其它位上均不同時為1即可。如0x33 0x41 或0xff 0x01等等。符號 在c...
C語言程式設計,C語言和C語言的區別是什麼?
include using namespace std int main if a max x max y 值 int main system pause return 0 c語言和c 語言的區別是什麼?c語言與c 的區別有很多 1,全新的程式程式思維,c語言是程序導向的,而c 是物件導向的。2,c...
c語言是什麼,C 語言到底是什麼,它與C語言有什麼區別?
c 是微軟公司在2000年6月釋出的一種物件導向的程式語言。它使得程式設計師可以快速地編寫各種基於microsoft net平臺的應用程式,microsoft net提供了一系列的工具和服務來最大程度地開發利用計算與通訊領域。c 語言與c語言區別為 編譯不同 記憶體管理不同 應用不同。一 編譯不同 ...