c新人問題

時間 2022-08-01 23:10:04

1樓:夜遊神小翠

這個問題很簡單,是這樣的:

在c++有一種問號語句,格式為(表示式1)?表示式2:表示式3。

執行方法是判斷表示式1的真假,如果表示式1為真,則整個表示式的值為表示式2的值,否則整個表示式為表示式3的值。

在上述例子中,a==b是表示式1,a為表示式2,b為表示式3,實際a不等於b,所以表示式1為假,於是整個表示式的值為表示式3的值,所以程式會輸出b的值『g』

如果把表示式1換位 a=b,這就是一個賦值表示式,把b的值賦給a,這樣的賦值是成功的,所以表示式1的值變為真,整個表示式的值就是表示式2的值,所以程式會輸出a的值『r』。

記住就好了。希望對你有幫助

2樓:匿名使用者

#include

using namespace std;

int main()

定義個一個指標*p,第一個cout語句是把p的值輸出來,第二個cout是取指標p的地址,還有定義一個指標的時候最好是先把這個指標指向null或者=0,不然程式執行後會產生很難預料的後果,比如說你的指標p不指向null,那麼出來的是隨機值,。0x7ffdf000,,我這邊像你這個**,第二個cout語句出現的地址是0012ff7c,具體的我也不清楚,可能是編譯器不同的問題。

3樓:

char a,b; //定義字元型變數,a和ba='r',b='g'; //把r賦給a,g賦給bcout<<(a=b?a:b); //有問題,=是賦值運算子,兩個等號==才是比較。

括號裡是三目運算子,a>b?a:b,這樣是對的,a大於b,如果成立,整個式子值為a,否則為b。

4樓:匿名使用者

一個等號代表賦值 賦值只要不是賦給的0值 都成真

你這句少寫一個= 就從判斷語句變成了賦值語句 把r的值賦給了a

r不等於0 所以成真 輸出a的值 由於a得值已經被複製為r 所以結果為r

5樓:匿名使用者

把r賦值給a,把g賦值給b, a=b?a:b 意思是a是否等於b,若是,則輸出a,,若不是,則輸出b。

因為把r賦值給了a,把g賦值給b,所以比較r是否等於g,r不等於g,所以輸出r。

6樓:匿名使用者

= 是一個賦值語句,運算優先順序較低,所以先算條件表示式,因為 b 的值不是 0 所以條件成立,條件表示式的值是 r 即 a的值,然後執行 賦值語句,a = 'r'

7樓:非強勿狂

因為你只是把b賦值給a,即a=b,這個式子是真的,所以就執行a了,即輸出r

8樓:匿名使用者

a=b?a:b

一個=是賦值

也就是輸出的值是b?a:b這個運輸之後儲存在a這個變數中的值

9樓:賊寇在何方

應該寫 a==b,

對於c系列風格的語言,1個等號是賦值,2個等號才是判等

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

新人學C 用什麼編譯器好

最常用的是vs2003和vs2005 2008目前還沒什麼公司使用,多半是個人。另外2003在裝的時候經常出現莫名其妙的問題就裝不起。2005不會,並且2005有很多方便的熱鍵可以用,不過2005帶有智慧感知,可以幫你補充上你可能需要的資料。但是如果你使用va外掛幫助程式設計的話,會比2005自帶的...

新人聯想筆記本裝win7問題,新人聯想筆記本裝win7問題

那有可能是沒有開啟快速啟動列表功能,可以在bios裡設定一下,就可以了,也可以把第一引導設定成光碟引導就可以了。強烈建議請有經驗的朋友 同事等給你做。同時你也可以邊看 邊問 邊學了。不建議在一頭霧水的情況下,盲目操作!win8不挺好嘛,幹嘛裝win7呀 你要先進ufei主機板,如果沒有安全啟動選項,...