c中a0與a0有什麼區別

2021-03-06 12:27:33 字數 6631 閱讀 6976

1樓:匿名使用者

兩回事a != 0 表示 a 不等 0,結果是一個變數,可能是真,也可能是假,取決於 a 究竟是否等於0,換一種表達方式為 a == true

而 a = !0 表示首先對零求反,然後再將值賦予變數a。對零求反結果就是真,這個結果可不再是變數了,相當於 a = true。

兩個表示式一個用於測試 a 的內容,一個用於給a賦真值,意義差別大了去了。

2樓:

a!=0——!=是關係運算子,所以a!=0關係表示式,意思是把變數a的值與0比較一下看是否不等。

=!——沒有這個操作符,所以編譯器解釋為=和!兩操作符:

=是賦值運算子,將它右邊的值賦給它左邊的變數;!是單目邏輯非運算子,!0的結果是1,而非0變數x的!

x為0。所以a=!0就被解釋為把1賦給變數a的意思。

供參考……

3樓:聽不清啊

a!=0

是判斷a是否不等於0,若是,表示式的值為真,否則為假。

a=!0

它就是一個賦值語句,完全等價於a=1;

4樓:

對於 a != 0,只要a不等於0,表示式均會成立,即返回1。

對於 a = !0 等價於 a = 1,即為一個賦值表示式。

5樓:匿名使用者

a!=0是判斷, 當a為0時表示式為假, 否則為真。

a=!0是賦值,這個是兩個操作

先!0 也就是邏輯非,結果為1.

然後a=1 將a賦值為1 。

6樓:匿名使用者

!= 這是一個完整的符號不要把!和=拆開來解讀,!=這是不等於比較運算子與==相反。

!單獨使用時為取非,運算元為非零時取零,為零時取非零。

=是賦值運算子,用於將右測值給左測變數賦值由上面的說明可以得出,a!=0是一個比較表示式,意思是變數a不等於數字0,而a=!0意思是將!0即對0取非,結果是1,將1賦值給變數a

7樓:匿名使用者

a!=0//判定a是否是不等於0的,如果a不等於0,表示式結果為true,如果a等於0,則表示式結果為false,但無論如何a的值不變;

a=!0//先對0取否定,理論上是得到一個非0的數值(應該取決於編譯器吧,c語言中一般是1,具體你可以測試),然後將那個數值賦值給a。

8樓:匿名使用者

!= 是一個符號,判斷左右兩個數,是否不相等,不相等則整個表示式返回true.

a=!0 其中 =是個賦值號,將右邊的值賦左邊。而!

是個取反符號。將右邊表示式(在你這裡是0)的邏輯結果取反。0的邏輯結果是false, 那麼取反就是true.

所以整個表示式的意思就是把true賦值給a. 如果a不是一個bool型別,那麼就是把1賦值給a.

9樓:crazy_小豬

a!=0:表示判斷,即:a不等於0,執行完該語句,a的值是不變的。

a=!0:表示賦值,即:a等於非0,執行完該語句,a的值變了。

10樓:龍之聲闖天涯

a!=0是a≠0,用在if,while中,判斷條件。

a=!0,在c++中,bool變數型別和int型別是互通的,int>0,bool為true,等於0時,為false。a=!

0,就是把為false的0,取反後變為true,賦值給a。

答得不好,請見諒。

11樓:匿名使用者

a!=0是一個判斷語句,若a的值不為0則結果為1(真);

a=!0是一個賦值語句,將a賦值為非「假」(0),即同義於a=1。

望採納。

12樓:匿名使用者

a!=0 是判斷 變數a,不等於0

a=!0 是判斷 變數a 等於非零

是完成不同的語句。

13樓:匿名使用者

a!=0,表示a不等於0,一般用於判斷的條件,比如if(a!=0) ;

a=!0,表示a等於非零,即a=0,是一個賦值語句。

當然第二個如果寫成a==!0,跟第一句沒什麼區別了,用於判斷條件,但習慣上還是用第一個

14樓:匿名使用者

a!=0是判斷語句 !=是判斷符,意思為a不等於0,加上if(a!=0) 就是當a不等於0時...

a=!0是賦值語句 解釋為 a等於非0,.

15樓:polaris北斗

a != 0 關係運算,一個運算子是 !=, 判斷 a 是否不等於0

a = !0 賦值和邏輯運算,邏輯運算子!取0(false)即!0 的結果為1(true),然後賦值(=)給變數a

16樓:匿名使用者

a!=0 : != 表示不等於, 此段代表判斷a是否不等於0

a=!0 : ! 表示邏輯非,0的邏輯值為假,!0就為真, 此段代表把邏輯真(1)賦值給a

17樓:匿名使用者

第一個是判斷a是不是等於0,一般用在if語句 if(a!=0)

第二個是給a賦一個非0值

18樓:匿名使用者

!=是不等於號,=!是賦值非。。。的意思。前者是一個關係運算子,返回值為真或假;後者為賦值語句,a為1.

19樓:聖吻之櫺

左結合!!

!! != 標識不等於的意思 a=!

0 是 !和0結合 !0 的意思是 邏輯非運算!!!

邏輯運算產生的結果只有ture和false !0 就是 true!!!轉int 就是1!

20樓:匿名使用者

a != 0 表示 a 不等於 0,用來判斷這個表示式是否成立,即真、假

a = !0 表示給 a 賦值,即 a 的值為 1, 不是下面說的a = 0。

21樓:匿名使用者

a!=0就是字面的意思,很好理解,

a=!0 其實就是a=1, 如果是用在if的條件裡,就是用錯了,條件總為真

c++中&a[0]與a[0] 的區別?

22樓:幻想祕境

a[0]:是獲取a這個陣列第0個元素的值;

&a[0]:是獲取a這個陣列第0個元素的地址;

比如把陣列比作一個小區,a[0]就是代表小區裡某棟房子本身,而&a[0]則表示某棟房子的門牌號,你知道了門牌號,並且知道它在a小區,那麼你就能找到這棟房子.

望採納!!^_^

23樓:匿名使用者

&a[0]輸出的是一個地址值。(陣列的首地址)*(a+1)輸出的是「2」即陣列第二個元素的值pb的輸出與&a[0]相同,都是地址。(陣列的首地址)*pb輸出的是「1」

24樓:匿名使用者

a[0]是第1個元素

&a[0]第一個元素的地址

25樓:zoe_歸天

0012ff6c 2 0012ff6c 1

&a[0]是取a[0]的地址

a[0]則是陣列a 的第一個元素

26樓:冰藍月零凍

&a[0]是a[0]的地址,輸出以後是類似於0x0021df34這種格式的東西,表示記憶體地址

c++語言中a=a>=0?a:-a;什麼意思

27樓:匿名使用者

a=a>=0?a:-a;

a等於 a>=0?a:-a; 它的意思就是如果a>=0成立,取a 也就是a=a ,如果不成立去-a 那麼a=-a;

這行命令的用處就是 給a取絕對值

28樓:匿名使用者

和變數優先順序有關係

在c++裡自增運算子的優先順序是2 減法運算子的優先順序是4再加上表示式是反向解析的 於是-3的操作會先放在棧裡碰到++運算子先做++的運算 然後-3才會出棧所以這個表示式在運算的時候的順序應該是

1.a=a+1

2.a=a-3;

另外,站長團上有產品**,便宜***

29樓:

用數學來給你解釋,其功能相當於下面的式子。

a=|a| //將a取絕對值後,再賦予a。

30樓:匿名使用者

這個很簡單 就是讓a取得值不能為負數

公式解釋 給a附一個值 如果這個值大於等於0 就取a 如果小於0就取a相反數-a 於是負數變正數

31樓:滄海雄風

a=a>=0?a:-a 如果 a>=0 則 返回 a 那麼 a=a

如果a<0 則返回-a 那麼 a= -a;

32樓:丶

a>=0嗎、真 a取a的值,假a取-a

33樓:匿名使用者

a>=0,把a的值賦給a

a<0,把-a的值賦給a

34樓:穎兒

就是當a>=0的時候則a=a,否則a=-a!

c++裡char a='0';和char a=0;有什麼區別??

35樓:小傻

char a[100] = ;和char a = 區別如下:

第一個是 100個位元組 全部初始化為\0 ,這個是先給出大小才初始化第二個是就一個位元組 初始化為\0, 這個是賦值初始化 賦的值決定了大小

分配的記憶體地址空間也不一樣,如下:

36樓:匿名使用者

第一個是指字元a賦值字元型『0』,第二個指字元a賦值ascii值為0的字元也就是空字元(空格)。

37樓:百度使用者

c++裡面初始化一個字元必須打上單引號 也就是類似於第一個 char a='x';。第2個是不正確的。

c++中 a[ ]={0}那a[ ][ ]=?讓他等於0呢

38樓:金色潛鳥

int a=; 的表達是正確的,它是宣告兼初始化,會自動計算出 a的陣列大小是1,

初始化 a[0] 等於 0。

int a[1]=,}; 的表達是正確的,它是宣告兼初始化,會自動計算出 a的第一維。

初始化 a[0][0]=0;a[1][0]=0;

int a=]=,}; 是錯誤宣告,需要提供下標。

39樓:匿名使用者

依然是a=

在c++中a!=0是什麼意思啊,namber!=0有是什麼 意思

40樓:匿名使用者

條件判斷,"不等於"的意思

41樓:匿名使用者

number!=0 ,就是變數number不為0的意思,一般用在if ,或者while for語句中,作為條件判斷用哦

42樓:匿名使用者

這個是邏輯判斷,!=是不等於

43樓:

!=是不等於,a!=0就是變數a!=0,可以用作判斷;

namber也是變數

44樓:匿名使用者

!=條件運算子,,

a!=0表示判斷a是否等於0

namber!=0也是判斷變數namber是否等於0

c語言 二維陣列a【0】與a與a【0】【0】有什麼區別?

45樓:匿名使用者

陣列在記憶體中是連續按行分佈的,對於a[2][3]=,};它在記憶體中的分散式1,2,3,4,5,6;所以他等價於a[2][3]=;在c/c++中,陣列名也即是陣列首地址,這裡加入a=0x1000;那麼它的地址分就是也就取第一個元素的地址,即1000,a[0]是第一行1000,1004,1008的首地址,也是1000,也即是a元素的首地址;

int *b=a[0];

*b和a[0]是等的,是a陣列第一行首地址;不同的是a[0]是隻讀的,*b是可讀寫的因為b是指標變數,你可以試試a[0][3],a[0][4],a[0][5]都能列印出來,別看a[2][3]以為這樣越界了,其實越不越界是按地址來算的,地址上講,&a[0][3]=a[1],所以完全沒問題;按照地址計算上面列印的值就是4,5,6;同理用*(b+3),*(b+4),*(b+5)也是一樣的道理;

a就是陣列的首地址,a[0]是第一行第一個元素的首地址,也即是a的首地址,&a[0]是第一行的首地址,從數值上將,沒問題,只是資料型別上不一樣;

a[0][0]就是取第一行第一個元素的值,也即是1

46樓:匿名使用者

a[0][0]是值,a[0]和a是地址

c++中 int a=0;與int a(0);都可以對a進行初始化,這兩種方式有沒有什麼區別

47樓:匿名使用者

對於這種內建型別(如int float之類的)是沒有區別的,但是如果是物件時候是有很大區別的,

一個呼叫拷貝建構函式,一個是直接初始化

如果a0,那麼aa為什麼啊,為什麼當a0時,aa

a 0就是負數,負數的絕對值是它的相反數 a 0的時候,a的絕對值就是自身 a 0的時候,a的絕對值就是它的相反數 因為a 0 所以 a 0 a 為非負數,因此 a 因為絕對值是沒有負數的,當a為負數時,則他的絕對值必為正數,負數前面加個負號。負負得正就變成正數了 如果 a 0,那麼 a a 不是你...

拋物線y ax 2 bx c(a,b,c是常數,a 0)與

2是平方 應該求出了拋物線的解析式為y x 2 2x 3,且第三小題的第一個空是p 2,3 下面看一下第二個空 由於p在第一象限,且在拋物線y x 2 2x 3上,則可設p的座標為 a,a 2 2a 3 0由a 1,0 c 0,3 可得直線ac的斜率為 3 0 0 1 3 由於pq ac,所以直線p...

二次函式的概念中為什麼a0,而x卻可為

a 0才稱為二次函式,它是函式變數的係數而已。x是變數,愛多少,就多少 一次還是二次函式是指自變數x的指數是一次還是二次與x的取值沒什麼關係 所以a不能等於0.這是為了使x的二次項存在。而x取值不受這個限制 首先a不能為0,之所以叫二次函式就是說x的係數必須是2次,如果a為0,那麼y ax 2 bx...