c語言x y和x y有什麼區別,c語言 x y與 x y有什麼區別?x 3,y 4,!(x 0)是什麼意思啊?

時間 2021-08-11 17:21:03

1樓:石孝柴詩

x=y是一個賦值表示式,將y的值賦給x

x==y是一個邏輯表示式,判斷x是否等於y,其值為1(真)或0(假)

2樓:

c的函式中的形參接收的都值拷貝。用x=&y後使x指向了y,但x和y都是fun中的區域性變數,退出後都不存在了,影響不到主函式中的變數值。而*x=y;是把y的值(也就是主函式中的b的值)賦給x指向的變數,x指向的變數不是a嗎?

所以實質就是把b的值賦給了a;而返回值是y=t,實質就是t,t既然先等於了*x,*x又就是a,b=fun(&a,b);返回給b的不就是a嗎?這就實現了交換。另說一句return y=t;中y=是多此一舉,寫return t;就行了,因為y是fun的區域性變數,在主函式中根本不可見!

3樓:渾楊氏刑嫻

if(x==y)是判斷x與y是否相等,相等則為真,不等則為假

if(x=y)這個是把y的值賦給x,然後判斷表示式x=y的值,c語言中,賦值表示式是有值的,它的值是賦值符號右邊的值,即x=y的值是y的值,如果y的值為0,那麼x=y為假,否則為真

一般來講,程式設計過程中if(x=y)這種寫法是錯誤的寫法,程式能夠通過編譯,也能夠執行,但是可能會出現意料之外的結果。

4樓:匿名使用者

x = &y。 fun函式的區域性變數x指向的地址被改變,注意這兒的指標是值傳遞, 所以不會對傳入的變數有任何影響,得到的結果就是a,b變成了相同的數值。 這樣做沒什麼意義。

5樓:匿名使用者

c語言x=&y和*x=y有什麼區別?整型和指標的問題啊~

c語言!x==y與!x=y有什麼區別?x=3,y=4,!(x<0)是什麼意思啊?

6樓:匿名使用者

x==y是比較x和y是否相等。

x=y是賦值,把y的值賦值給x

!是邏輯非,對右面部分的否定。!(x<0)當然就是把x<0否了,就是傳說中的x不小於0,你高興的話寫成x>=0也隨你

c語言中if(x==y)和if(x=y)有什麼區別

7樓:天雨下凡

if(x==y)是判斷x與y是否相等,相等則為真,不等則為假

if(x=y)這個是把y的值賦給x,然後判斷表示式x=y的值,c語言中,賦值表示式是有值的,它的值是賦值符號右邊的值,即x=y的值是y的值,如果y的值為0,那麼x=y為假,否則為真

一般來講,程式設計過程中if(x=y)這種寫法是錯誤的寫法,程式能夠通過編譯,也能夠執行,但是可能會出現意料之外的結果。

8樓:匿名使用者

==是等於的意思,比如x==100這個語句,如果x的值確實是100,則返回1,如果x的值不是100 則x不等於100,則返回0。

=是賦值的意思,只要賦值成功,都返回1。比如x=1,就是把1賦給x,換句話說,在這個句子之前,x可能沒有值,或者有其他值,但是這個語句之後,x就等於1了。

所以,如果是要判斷x是否等於y,那應該用x==y

x>y?x:y;在c語言中代表什麼意思

9樓:匿名使用者

一樓說的還有點問題。a?b:

c 這個運算是判斷a的真假,若是真就執行b如是假就執行c,所以x>y?x:y;這句話的意思就是判斷x和y值得大小,要是x>y結果就是x,否則就是y,也就是說這句的是輸出的x和y中較大的那個數。

可以使用一下程式來檢測:

#include

main()

10樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

11樓:儲晨權紅雲

很久以前學的。還記得一點點。應該是如果:x>y,取x。反之則取y。

12樓:fei仰角30度

? : ; 是c語言中唯一一個三目運算子。如果x大於y為真,結果輸送x,否則為假結果輸送y;

13樓:匿名使用者

這是一個判斷句。意思是,若x>y則結果是x,反之,結果是y.

14樓:supper大毛

若x>y,則表示式的值為 x;

否則為 y

15樓:匿名使用者

如果x大於y,就是真,如果x小於y就是假

c語言中x*(y)+z和x*y+z 的區別

16樓:匿名使用者

這是巨集替換的特點!

巨集替換是在編譯時,將源程式中與巨集定義符合的**進行內「傻瓜容」式替換。

如:#define max(x,y,z) x*(y)+zprintf("%d/n", max(a+b.b+c,c+a) ); 在編譯時替換成printf("%d/n", a+b*(b+c)+c+a );

而#define max(x,y,z) x*y+zprintf("%d/n", max(a+b.b+c,c+a) ); 在編譯時替換成printf("%d/n", a+b*b+c+c+a );

可見兩個表示式在編譯後的結果是不同的,因而結果不同!

17樓:什麼名真難起

y = a + b 加括號先算括號裡面的 比如 x*(y) = x*(a + b)

如果不加括號就是x*y = x*a + b

這是一道程式設計師面試的時候經常遇到的問題

18樓:平天一狼

define 只是把原式子替換 如果加括號 則為a+b*(b+c)+c+a 如果不加括號為a+b*b+c+c+a 你記住 只是機械的替換掉原來的變數 在做這種題時要小心點

19樓:匿名使用者

巨集替換是在編譯時,源程式**用巨集定義**進行替換。

沒有括號時替換結果為a+b*b+c+c+a,有括號替換結果為a+b*(b+c)+c+a。

20樓:

因為* 的優先順序高於 +,所以 a+b * (b+c) + c+a 與 a+b * b+c +c+a 的結果不同

21樓:匿名使用者

沒有括號 就是a+b*b+c+c+a,有括號就是a+b*(b+c)+c+a。一個是a加上b乘以b,一個是a加上b乘以b和c的和,你說能一樣嗎?

22樓:5千零一

a+b*b+c+c+a a+b*(b+c)+c+a

c語言中x y和x y有什麼區別啊

執行先後順序的區別 代表 1,在變數前面例如 x 1代表著直接在這裡將變數值加上1,故y 6 1 5 而在變數後面,x 1代表著在執行完這一行再予以加1,故y 5 1 4 include int main int x 5,y 10 printf d d n x,y y x 1 在這裡意味著 變數x直...

C語言和C 有什麼區別?C語言和C 的區別

我覺得還是先學c,然後再學c 像上面幾位說的那樣,c是基礎,而且在嵌入式等很多底層程式設計的場合採用c比較多,而c 是一種基於c的語言,在c的基礎上加入的物件導向的思想,學習c 重要的是把物件導向搞清楚,這屬於進階層次。沒有程式設計基礎直接學習c 很難較好的理解物件導向。c是基礎,能力好直接c 也行...

c語言 x y 1 z xyy計算輸出x

x 1,y 1 z x 把x給z,所以z 1,之後x 所以x 2 y 原來y 1,現在變成2 y前面y 2,現在變成3 所以,最後 x 2y 3 x 1擴充套件資料c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式設計語言。在表示式方面較其它程式語言更為簡潔,如自加 自減 逗號運算和三目運算...