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語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式設計語言。在表示式方面較其它程式語言更為簡潔,如自加 自減 逗號運算和三目運算...