1樓:這個也行服了
第乙個for判斷的就是是否等於0,不等於0時執行迴圈體;關於第二個問題,乙個等號是賦值運算子,如果賦的值不為零則判斷條件始終為真,這樣就不是比較兩個運算元了。
2樓:衣櫃84265臥蒼
表示式三的位置嗎?
那樣就沒有區別了。
不過奉勸lz不要看++i 和i++在printf中得例子,例如 pirntf("%d",+i);
3樓:匿名使用者
for條件的意思是*(p+i)不等於空字元'\0'。因為空字元的ascii碼也是0,所以它也可以按你那樣寫。
同理if的條件也是判斷是否為空字元。
4樓:匿名使用者
不為0就是不為0,0就是'\0',也是'\000',都一樣。
5樓:竹葉青成
那需要完整的**才能知道 都不知道你的變數代表什麼意思 沒辦法解答。
c語言的for迴圈的迴圈條件
6樓:
不會執行!
但程式沒問題。
-1<=i<1;
會自動分解為: -1<=i ,這個值為1 ,再判斷1<1 不成立。
所以不執行。
7樓:無謂之光
不會執行。
程式沒問題的,這個只要試一下就是了,通過編譯!上面的yipian_yezi 說的對,他會把自動分解為: -1<=i ,值為1 ,再判斷1<1 不成立 ,所以不執行!!!
學習程式設計要多實踐啊,
8樓:匿名使用者
不會執行!
通不過編譯的`
其中 -1<=i<1;
這一句書寫錯誤`
應該寫成。(i>=-1 &&i<1);
9樓:戈壁獨狼
會執行,但得到的結果只是a=1.
10樓:糊塗瀟
不會執行,先是-1<=i,值為1,然後判斷1<1,為假,不成立,條件不符合,不執行。
11樓:阿四哥
c語言的for迴圈的依次列印從一到十的數字,看看就會了。
cóïñôµäforñ»·åð¶ïìõ¼þ
c語言用for迴圈迴圈條件要型別一樣嗎
12樓:匿名使用者
區別在於line15處的判等。
由於for迴圈的判斷條件是i<=k,所以實際上作為迴圈體的line15處的判斷的i>k的情況是不可能出現的,實際上就是判斷i==k
對於當k為浮點數時,i將被隱式的轉化為浮點數進行判斷,而浮點數判等一般不能直接用==,而應該計算兩者的差值是否小到可以視作相等。
13樓:匿名使用者
當k為整型時,k = sqrt(n)語句隱含這取整的功能,k值僅是結果的整數部分,下面的大等於或小等於運算都能取到等於;
當k為浮點數時,下面k與整型變數i比較不可能取到等於,因為k值的小數部分一般不為0。
c語言中迴圈條件的詳細解釋
14樓:匿名使用者
迴圈條件有真、假之分,判定真假的方法和if語句的條件判定是相同的。當迴圈條件為真時,會執行大括號{}內的所有語句,然後再次對迴圈條件進行真假判定,即進入下乙個迴圈。當迴圈條件為假時,不執行大括號內的語句,直接跳至大括號結束處往後執行,即跳出迴圈。
比較常用的迴圈有while迴圈和for迴圈。
while有兩種格式:
(一)while(迴圈條件)
(二)dowhile(迴圈條件)
這兩者就如同二樓所說,是在於入口條件和出口條件的差別。在while之後的括號()內寫上迴圈條件,迴圈條件可以是變數、常量、算式、判定語句如:
(一)int a = 10; while(a)
(二)while(true)
(三)int a = 10; while(a - 1)其實算是也可以看成常量或變數吧。
(四)int a = 10; while(0 !=a)
另外一提,大括號內的滿足條件時執行的語句可為空,就是不寫。形如:while(迴圈條件){}
但是空的大括號{}一定要帶上,如果寫成while(迴圈條件),就是錯誤的。但是在滿足條件時執性語句只有一句時,可以不寫大括號,此時若執行語句為空,則寫成while(迴圈條件);。注意那個分號。
for迴圈的格式:
for(初始語句; 迴圈條件; 執行語句)
參照以上while迴圈的格式。
迴圈條件判定真假方法:
對於bool型變數和常量,true即為真、false即為假。
對於數型變數和常量,非零即為真,0即為假。
對於判定句,成立即為真,不成立即為假。
15樓:來自天鵝洞尊敬的薔薇
當迴圈條件為真的時候 就迴圈 直到迴圈條件判斷為假的時候停止 就是非0和0
16樓:匿名使用者
分為兩種:迴圈入口條件和迴圈出口條件。
while(){判斷入口條件,條件為真(即運算的返回值非零)則進入迴圈,否則不進入迴圈;
do…while()判斷出口條件,條件為假(即運算的返回值為零)則離開迴圈,否則繼續迴圈。
c語言for迴圈結束條件
17樓:風若遠去何人留
if(i==j)本身就是在迴圈外的。
沒{}時, for只控制之後一句。
所以這個**等效於。
#include
main()
{int i,j=5;
for(i=2;i
18樓:匿名使用者
你這個個for迴圈要是成立只執行第乙個if 因為你沒用{}把倆個if都括起來 所以當for迴圈結束的時候 就是i=j的時候 第二個if就一定會成立。
19樓:網友
因為語句 if(i==j) printf("world");並不在for迴圈裡!也就是說當i=j時,跳出了迴圈後,執行了printf("world");最後的結果就有"world"。
20樓:就算你予我情深
if(i==j)
printf("world");
這乙個你沒有放在for下面,當迴圈內容有多個語句時要用花括號。
c語言的for迴圈的條件語句中 i++; 和 ++i; 有什麼區別?
21樓:
獨立的i++;和++i;效果一樣,都使i的值增1。
作為表示式的成員時,i++的取值是i,而++i的取值是i+1。
22樓:々了了
表示式三的位置嗎?
那樣就沒有區別了。
不過奉勸lz不要看++i 和i++在printf中得例子,例如 pirntf("%d",+i);
23樓:匿名使用者
沒區別~
給個有區別的例子。
a[i++]1
a[++i] =1
前面相當於 a[i] =1; i ++
後面相當於 i ++a[i] =1;
24樓:匿名使用者
for迴圈如果後面沒有再用到i沒有區別。
真要要說的話++i效率比較高。
i++ 相當於 tmp = i, tmp++,i = tmp++i相當於 i = i + 1
25樓:
在迴圈中通常是在迴圈變數更新時用到i++;或++i; 此時二者用法完全一樣沒有區別;
只有在考試時才會用到二者的真正區別吧。
26樓:匿名使用者
i++是先用i的值,在自增。++i是用i先自增,在使用自增後的值。
27樓:作風格
i++是先加再呼叫,++i是先呼叫再加。
28樓:淘氣的峰
i++先執行再加。
++i先加在執行。
int i=1;
printf("%d",+i); 輸出是2———
int i=1;
printf("%d",i++)輸出是1
29樓:匿名使用者
for迴圈中確實是沒有區別的(功能實現上)!
30樓:匿名使用者
i++先比較i的值然後++
++i是先++然後比較i的值。
c語言for迴圈條件問題
c語言中for迴圈中條件表示式的小於和小於等於問題
31樓:匿名使用者
p編譯器試試就知道了。
《是小於號,<=是小於等於號,前者就是不能等於,而後者可以等於比如給a[10]賦值,寫成:
for (i = 0; i < 10; i++)和for (i = 0; i <=9; i++)兩者只是表達方式不一樣,實際上都是一樣的,都是迴圈10次而你說那兩個,自然也是一樣的。
32樓:匿名使用者
結果是一樣的,但是意義不同!p < a+10 可以等價於 p !=a+10。。。
33樓:以愷魚翠茵
p一樣,你放編譯器試試就知道了。
《是小於號,<=是小於等於號,前者就是不能等於,而後者可以等於比如給a[10]賦值,寫成:
for(i=0;
i<10;i++)
和for(i=
0;i<=
9;i++)
兩者只是表達方式不一樣,實際上都是一樣的,都是迴圈10次而你說那兩個,自然也是一樣的。
for迴圈的流程圖,for迴圈的條件與迴圈體的執行順序
不同程式語言的for迴圈用法可能存在差異,此處以c語言為例。假設有以下for迴圈執行 1 執行for迴圈體裡的第乙個引數,也就是定義乙個int整形變數,其變數名為i,並初始化為0。2 執行完第乙個引數裡的 後,會執行第二個引數,判斷i是否小於99。3 當第二個表示式為true時會去執行迴圈體裡的 也...
c語言裡的FOR原理,C語言中巢狀迴圈的執行原理是什麼(詳細點)應注意什麼細節?
親,是for語句迴圈一次就操作一次,因為它是for語句的乙個巢狀語句,功能就是計算1 2 3 100的值。如果改成 for i 1 i 100 i i sum sum i 那麼就是你說的第二種情況了,即迴圈到for結束才把i的值帶入進去給sum賦值,此時for迴圈的語句體為一空語句。望能幫到您啊!對...
C語言,迴圈巢狀問題,迴圈語句的巢狀
第乙個for的主體是大括號括起來的那一大段,而第二個for的主體只有那個輸出空格的那一行,且輸出的空格數隨i的增大而減少。希望你能看懂,不過說實在的,如果這個題都看不懂的話,你學程式設計可能還是少了點天賦。記得喲。for i 1 i 5 i 迴圈5次,i從1到5for j 1 j 5 i j pri...