1樓:匿名使用者
功能上沒什麼區別,但是把數字寫在前面可以防止筆誤而出錯,
比如,if(a>=10) 或者if(a==10) 因為筆誤而少打了一個符號,
不小心打成了 if(a=10) ,這句在語法上沒有問題,賦值,然後判斷,所以編譯器不會報錯,但是邏輯意義就跟原來大不相同了。
但是如果是if(10==a)或者if(10<=a),不小心少打了一個符號變成了
if(10=a),因為10是常量,不能被賦值,所以編譯器會直接報錯,從而避免因為筆誤出現問題
2樓:匿名使用者
if(a>=10)和if(10<=a) 沒區別if(a==10)和if(10==a) 沒區別為什麼要寫成10==a這種形式呢?
原因是if(a==10)容易漏寫一個等號,就成了if(a=10)變成了把10賦給a
而寫成10==a,如果漏寫'=',變成10=a,編譯器會給出錯提示,因為不能
把一個變數的值賦給一個常量,這樣就能借助編譯器來檢查錯誤了。
3樓:匿名使用者
寫的一樣什麼區別也沒有,如果掉了個等於
就和myicefox說的一樣
4樓:匿名使用者
我覺得不同,前面判斷a是不是等於10,而後面的是判斷a是不是為真。。
5樓:手機使用者
本質上沒什麼區別,實際上都是一個意思,只不過是寫法不同
c++中,if(a=12)和if(a==12)有什麼區別,還有if(a>100 & b>50)和if(a>100 && b>50)有什麼區別呢?
6樓:
1、if(a=12)即把12賦值給變數a,而if中預設會把12認為是true,因此必然執行跟在這個if後的語句塊。if(a==12)即比較a是否等於12,結果返回true或false,這取決於a的值。
2、&是按位運算子,用4位為例,當a大於100時,比較式返回0001(true),當b也大於50時,同理返回0001(true),此後將兩者進行位運算,0001&0001=0001。而&&是邏輯運算子,當a>100以及b>50同時為真才執行。
7樓:阿冬
一個等號是賦值運算,含義是把右邊表示式的結果送給左邊的變數;
兩個連續的等號是比較相等的運算,如果左右兩邊的值相同,則為真,否則為假。
一個&表示按位進行與運算
兩個&&表示邏輯與運算
if(a=1)和if(a==1)有什麼區別?
8樓:浪花滌英
if(a=1)和if(a==1)的區別在於:
在c & c++ 程式設計語言中,等號「=」是賦值運算子, a=1 表示把1賦給內變數a,於是a的值就是1。其
容中a必須是左值,不能為右值如常量等。
兩個等號「==」是關係運算子,表示等於。
if(a=1)實際上等於兩個操作,
1. a = 1
2. if(a)
那麼if(1)其實就是if(true)就是條件為真。
而if(a==1) 是判斷a是否等於1,這裡a可以為左值,也可以是右值。
9樓:匿名使用者
a=1表示把1賦給a
於是a的值就是1
那麼if(a=1)實際上等於兩個操作,
1. a = 1
2. if(a)
那麼if(1)其實就是if(true)就是條件為真。
而if(a==1)
是判斷a是否等於1.
10樓:匿名使用者
a=1,if(a=1)與if(1)的效果是一樣bai的,if(a=1)後面的語句
du總是執行
a==1,if(a==1)與zhia的值有關,如dao果a=1,那麼
內執容行if(a==1)後面的語句
如果a!=1,那麼不執行if(a==1)後面的語句希望對你有幫助
11樓:匿名使用者
if(a=1)可以這樣寫,它表示如果將1賦給a賦成功的話....
下面的那個迴圈體只會執行一次哈啦!
12樓:緣~系
不一樣的~~~a=1是算術中的賦值關係,a==1是兩者關係表示,if括號中用a=1是達不到目的效果的~!因為她不能判斷真或假~!
13樓:匿名使用者
a=1是一du個賦值語句,作用是
zhi將1這個值賦給變數daoa,這個語句的值就是專a的值;而a==1是一個判斷
屬語句,當a!=1時,這個判斷語句的值為0,也就是真時語句的值為1,假時為0.if語句要用的是()內語句的值。
14樓:匿名使用者
當然不一樣拉
首先c中a=1是一種賦值表示式而a==1是一種關係運算表示式a=1是將1賦值給a變數(單元) 而專a==1是用a變數的屬值與1進行比較的
至於放在條件中如何運算,參考前面別人問過的。在此不做回答了。
15樓:風雨在我
不一樣。來
前者:如果
自a的資料型別是整型bai、實型、指標型別du,則表示式「if(a=1)」恆為zhi1;若a的資料型別為dao其他型別,例如共用體、陣列之類,則會報錯,而無法編譯。
後者:a==1是關係運算表示式,當且僅當a為整型(或實型)且其值為1的時候,表示式 if(a==1)才為1,否則為0;
希望 採納。
16樓:
a=1的值一定是1
a==1 , 如果相等就為1 , 如果不等 就為0
17樓:微俊
=號是賦值 ==是等於
18樓:紫菱水花
前面的那個是賦值,後面的那個是等號,大多數的情況下面用==多些
19樓:_胡黎黎
一個體=是賦值、兩個==才是我們學數學的等於。
20樓:匿名使用者
=賦值==表判斷~兩者區別大
c++中if(a[i]%2) j+=a[i];和if(a[i]%2==0) continue;分別是什麼意思?
21樓:匿名使用者
if(a[i]%2) j+=a[i];分析:
if(a[i]%2):如果a[i]除2餘數不等於0, 則執行j+=a[i];(就等於j =j+a[i])
if(a[i]%2==0) continue;這個在程式中沒看到呀,只能憑空說下了:
if(a[i]%2==0):如果a[i]除以2的餘數為0, 則不再執行迴圈語句中這之後的語句, 繼續下一次的迴圈...
22樓:不帥人不愛
if語句懂吧?如果條件真,怎執行下一句,否則執行if外的語句。a[i]%2是對2取模運算,如果a[i]是偶數,怎結果為0,就不執行if後面的語句j+=a[i];也就是隻有a[i]是奇數時才執行該句。
if(a[i]%2==0) continue;跟上面的正好相反,當a[i]是偶數才執行 continue。即跳到最近的迴圈。
23樓:匿名使用者
倒是要問問lz是什麼意思……問的問題不清不楚……
if(a[i]%2) j+=a[i];意思是如果a[i]為奇數就執行下面的語句
if(a[i]%2==0) continue;意思是如果a[i]為偶數就跳過這次迴圈,繼續下一個迴圈
4 設有變數定義:int a=10,c=9; 則表示式 (--a!=c++)?—a:++c的值是 。
24樓:匿名使用者
#include
#include
#include
using namespace std;
int main()
只是一個:引導的選擇問題而已,很簡單。
輸出結果是:10。
25樓:汪好帥
a自減變成9 c後加還是9。--a == c++ 條件不滿足,執行完c後加 =10 再執行++c ,上一步c =10,前加變成 11
26樓:程式設計師
11 主要注意下c++中唯一一個三元運算子以及前置++和後置++在表示式中的運算順序
樓主可以自己上機除錯一下啊!這對你是很有幫助的哈!
27樓:匿名使用者
11--a,減了再用;
c++;用了再加;
++c;加了再用;
c++語言中if(a
28樓:匿名使用者
是將a,b,c從大到小排列。
但是好像有點問題,該**可以編譯嗎?
變數是不可以賦值給指標的哦!
29樓:仰桖楓
將a,b,c從大到小排列。
30樓:匿名使用者
把abc中的資料按照從小到大的順序排序,a中資料最小
假定a和b為int型變數,則執行以下語句後b的值是: a=1;b=10; do{b-=a;a++;}while(b--<0);
31樓:匿名使用者
額 一開始我被糊弄抄到了 後來用printf一輸出才發現原來錯得糊弄離譜啊
b=10 a=1 b-=a 等價於b=b-a 所以b=9 a++ 所以a=2 重頭戲來啦
while(b--<0) 嘿嘿 注意是《號哦 b--<0 是先用b的值與0比較大小 再b自減1 也就是說9<0 當然是假啦 所以就退出迴圈 又b要自減1 所以最後b=8呵呵
32樓:鐵書包
這是正常的,因為迴圈只執行了一遍!
do....while()的用法是執行一遍之後判斷是否符合條件!
對應本題就是執行一遍之後,檢查b--是否小於0,若果小於0則繼續執行,不小於0則退出!
33樓:逆筆回鋒
在do執行完後,b變成9
在while語句中,先判斷b<0==false再進行b--;
所以b==8;
又例a[3]=;
a=1;
那麼a[++a]==2;a[a++]==1;但無回論是哪一個答a都變成了2
34樓:匿名使用者
不是8能是什麼?
一開始, a=1, b=10
b-=a; 這時b=9了
a++; 這時a=2了,b還是9
while(b--<0) ; 這時b為8了,所以條件不成立,跳出迴圈。
所以,最後b=8.
35樓:美麗的華
首先b-=a,這時b=10,a=1,執行後b=9,a=2
然後while(b--<0),b--了一次,b=8
36樓:匿名使用者
其實,來你應該是記錯了,do-while語句自裡面while(表示式)必須在判斷表示式為真,才可以繼續進行下一輪的迴圈,這裡說的是b--<0,是假的,所以停止迴圈,退出語句。b--使用過後,自減,得出來b值為8.
c++中 int(*a)[10]與 int *a=new int[10] 有什麼區別 25
37樓:
區別太大了!
int (*a)[10];——bai聲du明a是個指向具有10個int型元素的
zhi一維數dao組的指標專。
int *a=new int[10];——等屬號左邊是宣告一個int *型指標a,等號右邊是動態申請10個int型資料的連續空間;=號是將成功申請的空間的第一個元素的地址賦給int *型指標a。
c++中**: int a; cin>>a; if(a++>5)cout<
38樓:周杰棍的雙節龍
起初a=4
在執行a++>5時,應該是這樣的順序 a=4然後和5比較 ,再a自加1,此時a=5
所以它不滿足括號中的條件,因而執行else的語句a=5時執行cout< 應該是輸出5之後,再讓a自減1 當遞增運算子出現在運算元之前時,返回值是遞增之後賦給變數的值。例如,x=1,a=++x,a就等於2了,然後x也等於2 ; 如果是字尾形式,那麼返回值不會變 ,例如y=1, b=y++,這時b等於1,而y變成了2 39樓:匿名使用者 初始值a=4,a++表示式本身=4<5,但是a已經+1變成5了,所以執行else,表示式a--為5,但是a本身已經變成了4.而輸出結果是a--這個表示式的值,所以是5. 40樓:匿名使用者 開始時a=4,a++先判斷a=4<5然後a=a+1=5,輸出時a為5,然後a=a-1=4 .所以輸出的是5,輸出完之後變為4 define runname xml name param name name param void main 陣列不就是嗎,第一次a 0 第二次a 1 第三次a 2 c 中我想定義一個名字中帶變數的 尚雪珍匡真 這種情況下,區域性變數會遮蔽掉名字空間的變數,要訪問名字空間內的變數就要加上域字首 比... c 是純粹的面嚮物件語言.和c 與c完全不同.所以不要認為他們是相似的.如果要實現c 的全域性巨集定義可以建立一個類做為專門的設定類.在其它類中using這個類或者用同一個namespace 或者使用配置檔案configurationmanager來定義全域性變數.使用xml也行 如果是debug,... 像這種需求應該在類a中宣告靜態的flag 然後在類a的時間中賦值,之後再通過類b引用就是賦值後的值了 public class a 在類b中 通過a.flag 就能引用了。c 中一個類如何訪問另一個類的變數 基本上就是一樓的方法 c 如何呼叫其他類的變數 b類裡面的變數宣告的時候帶不帶static?...c 中我想定義名字中帶變數的,c 中我想定義一個名字中帶變數的
C中如何定義全域性的巨集變數 define)
C在方法中引用另類的全域性變數,C 在方法中引用另一個類的全域性變數