c語(yǔ)言必背100代碼 在c語(yǔ)言中a==b==c與a==b?
在c語(yǔ)言中a==b==c與a==b?在C語(yǔ)言中,a=b=C,a=b=C,a==(b=C),a==(b==C)include<stdio的用法。H>main(){inta=4,B=2,C=3in
在c語(yǔ)言中a==b==c與a==b?
在C語(yǔ)言中,a=b=C,a=b=C,a==(b=C),a==(b==C)include<stdio的用法。H>main(){inta=4,B=2,C=3intd=8printf(%d,%d,%dn”,a=B=C,a=B==C,a==(B=C),a==(B==C))//系統(tǒng)(%d,%dn”,a=B=C,a==(B==C))//系統(tǒng)(%d,%dn”,d.--d)printf,5==3)/*這兩個(gè)表達(dá)式表示==判斷語(yǔ)句的輸出結(jié)果只有1或0*/printf(%d”,5==5)Return1}
不要怪我扣詞,前面是大寫(xiě)C,后面是小寫(xiě)C,這絕對(duì)是不等價(jià)的。在數(shù)學(xué)公式方面,請(qǐng)注意嚴(yán)格性。在現(xiàn)實(shí)生活中,這個(gè)公式不一定是等價(jià)的。許多未知的特殊性會(huì)影響平衡。
A=B B=C A一定等于c,這句話(huà)對(duì)不對(duì)?
C語(yǔ)言與其語(yǔ)言區(qū)域賦值運(yùn)算符和相等運(yùn)算符相同。C語(yǔ)言area=assignment==equal操作表示a=b=C。表達(dá)式運(yùn)行后,為b和C賦值,ABC值相等。A=b==C。對(duì)于復(fù)合表達(dá)式,首先為b賦值。如果等于C,則返回0,否則返回非零值。A==(b=C)對(duì)于復(fù)合表達(dá)式,如果等于A和C,則返回0,否則返回非零值A(chǔ)==(b==C),復(fù)合表達(dá)式先比較b和C,然后返回0,否則返回非零值。比較a和(b==C)返回值(注意在出錯(cuò)前比較a和b或C,希望LZ注意)看C區(qū)域=follow==雖然新手很麻煩,容易出錯(cuò),但他熟悉心理賦值語(yǔ)句。他喜歡PS:LZ程序風(fēng)格,習(xí)慣引用stdio。H.他想修改我的程序:include<stdio。H>intmain(){inta=1,B=2,C=3print F(%d%d%d%d%dn”,a=B=C,a=B==C,a==(B=C),a==(B==C))return0}運(yùn)行結(jié)果:3,0,0,0
首先,因?yàn)椤?”符號(hào)的優(yōu)先級(jí)高于“=”,B==C首先執(zhí)行,顯然B和其他2,C和其他3不相等,所以它是0(邏輯運(yùn)算,當(dāng)B不等于C時(shí),這個(gè)方程的值為假,即0),然后執(zhí)行a=0,0的值被分配給a。
1。賦值語(yǔ)句本身是一個(gè)表達(dá)式,有一個(gè)返回值。它的返回值是分配給變量的值。例如,B=1將1賦給B,但它也是一個(gè)表達(dá)式。此表達(dá)式的返回值為1。
2. 賦值語(yǔ)句首先計(jì)算等號(hào)右邊的值,然后將右邊的值賦給左邊的變量
3。分析a=b=C,根據(jù)賦值語(yǔ)句的操作方式,計(jì)算右邊的表達(dá)式,即b=C。
4. 表達(dá)式B=1的右側(cè)是賦值,然后表達(dá)式B=1是賦值。
5. 將1賦給a并返回a=1的值,即1。因?yàn)榇a不使用這個(gè)表達(dá)式的返回值,所以它被丟棄。