c語言a b a b a b是什麼意思

時間 2023-01-27 14:30:04

1樓:聽不清啊

就是判斷a+b是不是「不等於」a-b的意思。是,則值為1;否則值為0。

2樓:黃5帝

這個應該是一個判定的吧?

相當於 (a+b) !a-b)

c語言中c=(a+b,a-b)什麼意思

3樓:和藹的傑尼

逗號表示式。

每一個表示式都會計算。

取得是最後一個表示式的值。

所以c=a-b

不過要注意的是前面的表示式如果有++,操作符的時候。

c語言, a=2;b=4;a/b?a+b:a-b 會輸出什麼結果?求具體解釋

4樓:匿名使用者

這是個三目運算 e1?e2:e3

表示 如果e1的結果是真,則執行e2,否則執行e3a/b 表示整除,沒有小數,2/4=0

0表示假。結果=a-b=2-4=-2

5樓:不忘歷史難忘國恥

答案-2分之3,2/4=二分之一乘以6除以負二等於負2分之3

c語言(a>b)?a:b是什麼意思?

6樓:忘了所有沒有痛

c語言(a>b)?a:b的意思是如果a>b的結果為真,那麼表示式。

回的結果會是答a,表示式的結果為0,那麼表示式的結果就會是b。這是c語言中唯一一個三目運算子,它可以簡化很多表示式。有利於**的書寫。

求值規則為:如果表示式1的值為真,則以表示式2的值作為條件表示式的值,否則以表示式2的值作為整個條件表示式的值。 條件表示式通常用於賦值語句之中。

7樓:匿名使用者

三目試運算 a大於b時取b的值a小於b時取a的值。

8樓:匿名使用者

(a>b)?a:b

表示如果a>b為真,則取問號後邊的第一個值,這裡是a

如果a>b不為真,則取問號後邊的第二個值,這裡是b

c語言中:a+++b是什麼意思?

9樓:湛藍水晶

就近原則,與編譯器無關,很容易記的。

相當於(a++)b;

但是太多+號就不行了,比如a+++b,雖然一看就知道意思是(a++)b);但是編譯就通不過,出錯資訊大概是:迷失在加號空間?

10樓:匿名使用者

是(a++)b如果是a+(+b)的話答案應該是4,前者答案才是3

11樓:天曼安周聖

這是(a%b)?b:a

其中a%b是a除以b取餘數,若不等於0

(也就是b不整除a)就當成立,整個式子是取b的值。

若等於0(也就是b整除a)就當不成立,整個式子是取a的值。

c語言中(a>b)?a:b和(a

12樓:學雅思

一、表達意思不同。

1、(a>b)?a:b:如果a大於b,則取a,否則取b。

2、(a二、邏輯順序不同。

三、執行順序不同。

1、(a>b)?a:b:在a跟b中取最大值。

13樓:幻翼高達

c語言中,「(a>b)?a:b」和「(a」的區別是當a與b相等時,前者的值是b,後者的值的是a。

條件運算子的表示式為「表示式1?表示式2:表示式3」,先求解表示式1,若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。

例如:1、max=(a>b)?a:b

就是將a和b二者中較大的一個賦給max。

2、min=(a就是將a和b二者中較小的一個賦給min。

14樓:魚與鹹魚

1、本質區別。

雙引號裡面的是字串, 而單引號裡面的代表字元。

2、輸出區別。

str = a」輸出的就是a這個字母;

str = a』輸出的測試65

3、底層區別。

用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。

15樓:go學龍

第一個若a>b為真即執行a,為假及執行b

第二個若a

16樓:匿名使用者

這個和()沒什麼關係,我詳細的講一下,你一定要看完啊:)注意理解a++和++a的區別:

a++:先將a的值代入表示式,在表示式運算完畢後,再將a進行++處理。

++a: 先將a進行++處理,再將a的值代入表示式注意對於a++這裡有一個「在表示式運算完畢後,再將a進行++處理」,b=(a++)這是一個賦值表示式,所以先將a的值代入表示式,必須等到賦值表示式運算完畢後,再將a進行++處理,也就是說必須等到給b賦值完畢後,才將a進行++處理所以b=3,a=4

17樓:匿名使用者

>c相當於a=(b>c)是一個賦值表示式,把(b>c)的值賦給a,(1)如果b>c為真,則把1賦值給a,(2)如果b>c為假,則把0賦值給a。

(3)執行完該表示式,僅a的值改變,b、c的值不變。

>c也相當於a==(b>c)是一個符合表示式,先判斷(b>c)的真假,(1)若為真,a為1則該表示式為真,即該符合表示式的值為1。

(2)若為真,a不為1則該表示式為假,即該符合表示式的值為0。

(3)若為假,a為0則該表示式為真,即該符合表示式的值為1。

(4)若為假,a不為0則該表示式為假,即該符合表示式的值為0。

(5)執行完該表示式,a、b、c的值都不發生改變。

18樓:周肆爻

定界符不同,字元常量用的是單直撇,字串常量則用雙引號長度也不同,字元常量只能有一個字元,也就是說字元常量長度為一,而字串常量可為0,也可為任意數。即使字串常量字元數量為一,長度也不是一。

例如,字串常量"h"(這手機沒雙引號)

則長度為2,字元就是h \0

19樓:新來的文盲

a比a少一維,我具體給你解釋下。

幾個元素可以組成陣列,而幾個一維陣列可以組成二維陣列,如此一直增加維數。

比如說a[0]=2,a[1]=1,a[2]=3,組成一個一維陣列,這就是a.但是,你要注意,a不是直接把這些東西都存著的,a只存首地址。

假設定義了一個二維陣列a[3][3].這時候a[0],a[1],a[2]就不再是元素了,而代表的是一個有三個元素的一位陣列,而此時的a就是一個二維陣列。如果感覺這個有點困難沒關係,等學習了指標什麼的久很好理解這個了。

再說說你給的程式,你是不是在疑問為什麼gets()直接給str1 就可以了?還有那個輸出函式,為啥只用給str1就可以?

這得給儲存方式有關,字串就是字元的二維陣列,gets()需要輸入字串的首地址,這個還算好理解,因為你應該學過了scanf()了,二者差不多,關鍵是為什麼輸出函式直接就寫了str1呢?printf()之前你學的一般都是(printf("%d",a[1]))這種型別的。這裡為啥要填一個地址引數呢?

這是因為你前面是%s s代表字串,字串本身就是二維的,因此,你當然不能只給他一個單獨的元素了,那麼,你給了首地址他如何知道你這個字串是啥呢?因為字串都是順序儲存的,更重要的是字串在結尾處有個標誌「/0」,因此,你只要給力他首地址,他就知道從**開始,從**結束了。

純手打,望採納。

20樓:

&a取址 *p取值這沒有什麼可說的。

int *p; int a;

a的地址1000h,即&a ==1000h. p是指標,它本身也有存放它的地址,設1200h,即&p ==1200h(win32下,指標本身長度32位即4位元組,可通過sizeof(p)得到). 這樣就是用到兩塊記憶體了。

p = a; 即p ==1000h. 這是一個地址值,本質是值,即可以加減等操作的。但是加減後的p, *p可能就無法訪問了,因為它已經不指向a了,比如p ==1004h了,如果這是在某一函式里操作的,而1004h地址並不本程式的地址空間裡,取*p時那就非法訪問,要崩潰的;但如果1004h地址正好是這函式里另外一個int b;變數的地址,那*p的值就是b了。

*p表示取p指向地址的值,也就是1000h上的值; a = 1; 說明1000h上的值為1,所以*p ==1;a, 它本身只是一個符號而已,這個符號代表了地址1000h起的int型長(4位元組)的一個記憶體塊, a=1,就是記憶體塊放一個值1, 如果有彙編的思想,能更形象點:[1000h] =1,根本不需要a,b,c...之類的字元來表示,直接對記憶體地址進行存取。

21樓:星呈幻

a和p是變數,&a和*p是表示式,1和0x1000是常量a和*p表示的都是整形左值,p和&a表示的都是指標型左值,1和0x1000表示整形和指標型右值。(左右值的概念不清的話,google一下)

在記憶體中,a和p有儲存空間空間,a存放著1,p存放著0x1000,*p和&a沒有空間,他們的運算結果是在暫存器中存放的,1和0x1000也有空間,在程式的常量段存放。

*p按照stanley lippman的著作《c++ primer》中的描述,p是指標變數,*是解引用操作符,*p是一個表示式,含義是「對指標變數p進行解引用操作」,這與表示式&a的含義「取整形變數a的地址」是正好是相反的操作。

22樓:匿名使用者

首先我們明確a為一個變數 假設定義是 int a;

再明確p是一個指標,假設定義為 int* p;

當我們定義了一個a是系統會分派一個記憶體給你用來存放他的數值,如 執行了a=10;後 這個記憶體就存放了一個10的數字,當我們要用到它表示的10時,直接用a替代就可以了。

現在我們再用 p=&a "&叫取地址符,他是一個運算子。 "a"就表示指向a有就是上面的那個存著10的記憶體的地址。如果我們用到a的時候,很明顯,我們不能直接用p了,因為他是一個地址而不是我們需要的10這個數,那怎麼辦呢?

我們這裡就可用"*"這個符號,他表示取這個指標所指記憶體上的資料,即 *p就表示a了用法什麼的都一樣。

23樓:徐章林

第一個,先判斷b>c是否成立,如果成立,把1賦給a,否則把0賦給a

第二個,先判斷b>c是否成立,如果成立,用1和a比較,如果a=1,則整個表示式為1,否則整個表示式為0。

24樓:孔明燈

如果a,b都是整數。a/b是取商,a%b是取餘數。

如果a,b為浮點float,是計算結果。

25樓:自然而然

基本沒區別,都是並列的關係。

但是「a或者b」中,a似乎有些優先的感覺,而「或者a或者b」完全是平等的並列關係。

26樓:菊隱逸者也

a的話就是一個變數,你可以給它賦值,比如,int a=30;double a=,char a=』c『等等。

而'a'是字元,他實際表示的是a的ascii碼,也就是97。

27樓:匿名使用者

a=b>c

a=(b>c)a最後的結果不是0就是1,這可以說是一個賦值表示式a==b>c

a==(b>c),這個是判斷表示式。

28樓:康瑜小簧

b指標的話,b=a肯定不對。要麼*b=a,要麼b=&a,這兩種語法都正確,但是意義不同。前者將a的值賦值給指標b所在的地址,兩個值相互不影響。

後者將a的地址賦值給指標b,a和b指向同一個記憶體地址,該地址的值如果有變化,a和*b同時會變化。

29樓:匿名使用者

p, &a表示a在記憶體中的地址,p=&a 表示把a在物理中的地址給變數p,*p表示取出p在記憶體中的值,因為a的值在記憶體中的地址與p相同,所以*p=a。

關於c語言方面的數個人覺的還是譚浩強的比較經典。

在C語言中是什麼意思,C語言中 c 是什麼意思?

勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...

x 在c語言中是什麼意思,c語言中,! x 什麼意思?

八哥說科技 x 在c語言中的意思是 對變數x先進行自減,再對變數x的值取邏輯非,如果x為0,表示式為真,非0表示式為假。0 這個邏輯表示式的值為1 判斷的這個數為0,成立,則其表示式的值為1 1 這個邏輯表示式的值為0 判斷的這個數非0,不成立,則其表示式的值為0 是自減運算子,含義是對變數先減1後...

這段c語言是什麼意思

騎車到處逛 輸入兩個數,輸出兩個數的乘積,屬於函式呼叫 輸入兩個數 求 他們的乘積 輸出 product 是個自定義的函式 在main函式裡呼叫 不明白的話 好好看看 書裡函式那章 在main函式之前先宣告一個自己要定義的函式名稱 product 和所帶的形參型別 int x,int y 返回值型別...