c語言中這兩個是否等價。for i 0 siifor i 0 i s

2021-04-19 10:28:24 字數 4230 閱讀 9487

1樓:du基霸

int i,j=0; for(i=0;s[i];i++) if(s[i]!=c) s[j++]=s[i]; s[j]=0;//把最後一個元素設為0,可能是作為陣列的結束來用。

關於c++的基礎。我是新手。就是有一條語句是for(i=0;s[i]!='\0';i++)請問s[i]!=『\0』的意思

2樓:擁雲莊主

在c語言裡,字串是以0(也就是字元'\0')結尾的,所以,一般在遍歷一個字串進行處理的時版

候,都以當前字元是不

權是等於'\0'作為迴圈結束的條件。比如下面的程式,我們統計字串裡有多少個數字:

#include

int main()

}//輸出統計結果

printf("digit num is %d.\n", digit);

return 0;

} 還有不明白的追問吧,呵呵。

3樓:

這是字串的結尾標誌

比如說:

char s[20];

s="hello";

首先 s是20個char型的陣列,也就是說長度本身為20,但是後面給s賦值。那回麼s中的內容答就變成了

hello\0...

你可以想象成這個就是為了檢查字串是否結束

c語言中for(i=0;i<2,i++)是什麼意思

4樓:聽不清啊

在c語言中,

for(i=0;i<2,i++)

這樣的迴圈體會執行2次(分別是i=0和i=1時的情況)它的執行流程是這樣的:

首先給變數i賦初值0,然後判斷,若滿足條件i<2(是),就執行迴圈體的語句,完成後再i++,即

i = i + 1;

i 變成1,然後再次判斷是否滿足條件i<2(仍是),就再執行迴圈體的語句,完成後再i++,即

i 成為2, 再次判斷是否滿足條件i<2 ,發現不再滿足,於是就退出迴圈。

5樓:匿名使用者

理解你給的語句中i和i++前面的逗號分別是i和分號的筆誤,如非筆誤請追問

for ( i=0;i<2;i++ )

是以下語句的簡寫:

i=0;

loop:

if ( i<2 )

6樓:空素琴狄己

剛開始學習就問這樣的問題。。。

一個簡單的迴圈,i從0開始,到i等於2,沒迴圈一次i自增1,到不滿足條件小於等於2是就跳出迴圈

7樓:匿名使用者

i = 0 表示i在for迴圈中的初始值是0.i<2表示可以迴圈的次數,即 0 1 兩次。i++ 就是i = i+1的意思,表示每次迴圈步長是1.

那麼這個迴圈就是執行2次 假如吧你這個條件中的i++變成i = i+2,那就是步長等於2 那麼這個迴圈就只執行一次了。 還有,注意格式for ( i=0;i<2;i++ ) 希望對你有幫助

8樓:匿名使用者

i的初值等於2

當i的值小於n時執行for迴圈的內容

且i的值加1

直到i=n時跳出迴圈

9樓:dd愛睡覺的熊

for迴圈中間的1永遠為真,所以這是個死迴圈(除非當i滿足某個條件,用break退出迴圈),i從0開始,每次迴圈加一。

10樓:藏著羽毛

for(i=0;i<2;i++)

11樓:戲子_醜

for(i=0;i<2,i++){};

{}中的**執行兩次第一次i=0,

第一二次i=1。

12樓:很想好好學習

初始化時i大寫?

for迴圈基本形式,不懂看書,比提問強。

13樓:匿名使用者

春方殊離仁君

越國亡來又是誰。 榮身苦惟艱生患

·西施宜笑復宜顰,

多殷憂纏情將如

for(i=1;;i++)這裡面為什麼有兩個; 表示什麼

14樓:匿名使用者

for(i=1;;i++)表示i從1開始迴圈,每次遞增1,如果for中間沒有break;則一直迴圈下去。

15樓:gta小雞

缺少迴圈結束條件,需要在迴圈體內部新增判斷條件,否則會陷入死迴圈

16樓:天下霸傲

不是 中間的部分被省略了,如果不寫,就是真,往下執行就行,其實是個死迴圈

17樓:匿名使用者

第一個是i=1;第二個是i<=某個數;

18樓:匿名使用者

我早就忘了該如何開心的笑了!

19樓:水德水相亭

是等價的。

將陣列裡值s[j]賦給s[i]然後i,j都自加。

c語言中:for(i=0;i<3;i++) for(j=0;j<3;j++)是什麼意思 30

20樓:四舍**入

是一個雙重迴圈。

其中for(j=0;j<3;j++)是for(i=0;i<3;i++)的內嵌迴圈。

先迴圈第一個fori=1j=1,2,3i=2j=1,2,3i=3j=1,2,3一共3*3執行9次。

for遍歷0到9之間的數字,for迴圈由迴圈體及迴圈的終止條件兩部分組成。

21樓:會飛的小兔子

c語言中:for(i=0;

i<3;i++)for(j=0;j<3;j++)是一個雙重迴圈。

for(i=0;i<3;i++)

其中for(j=0;j<3;j++)是for(i=0;i<3;i++)的內嵌迴圈

先迴圈第一個fori=1j=1,2,3i=2j=1,2,3i=3j=1,2,3一共3*3執行9次、

for遍歷0到9之間的數字

for(;i<10;i++)

printf("\n");

//此時i的值是10

printf("i=%d\n",i);

擴充套件資料for迴圈體外定義變數

#include

intmain()

printf("\n");

printf("i=%d\n",i);

intj=0;

for(;j<10;)

printf("\n");

printf("j=%d\n",j);

return0;}

22樓:

這是一個雙重迴圈。

for(i=0;i<3;i++)

其中for(j=0;j<3;j++)是for(i=0;i<3;i++)的內嵌迴圈;

先迴圈第一個for i=1 j=1,2,3 i=2 j=1,2,3 i=3 j=1,2,3一共3*3執行9次。

for迴圈由迴圈體及迴圈的終止條件兩部分組成,for迴圈其在各種程式語言中的實現與表達有所出入,但基本為以c語言和pascal語言代表的兩種形式。

擴充套件資料

for迴圈中的變數可以是一個也可以是多個,不要侷限於一個變數處理到底,那樣有時會很單調,當程式適合把多個變數組成迴圈時,用多個for語句來表示就是有些浪費了。

for迴圈中語句可以為語句體,語句體外加大括號"{}"將參加迴圈的語句括起來。 for迴圈的三個表示式都是逗號表示式,這樣來說,其實每個分號表示式可以由幾個逗號表示式構成,中間用",」隔開,最後以「;」結束。

23樓:匿名使用者

迴圈從3開始,每次j減1,當j=0時,迴圈條件不滿足,因此只巡檢3次;

這種寫法很不好,不推薦使用。

24樓:

for(j=3;j;j--)

寫為for(j=3;j>0;j--) 這樣可以讓人更明白意思

意為從3開始迴圈,每次自減1,到0不滿足條件就跳出迴圈了

25樓:孤獨一客人

這是一個雙重迴圈

格式for(i=0;i<3;i++)

26樓:匿名使用者

這是一個雙重迴圈,通常我們會在迴圈中加個大括號

for(i=0;i<3;i++)

其中i從0到2,i取一個值,j就從0取到2,共迴圈9次

C語言兩個for迴圈,c語言中兩個for語句的是怎樣迴圈的

實際上就這麼寫的話,沒有區別,只是第二種更加清楚,也更加容易方便閱讀和修改 如果 為 for 第一種和第二種就是不同的了,因此建議用第二種的風格 for for 第一個for 的迴圈體只有一個語句 for 花括號括著,內中可以這個語句組,即許有多個語句,分號分開,也可以是空語句 當花括號中只寫了一個...

c語言中關於兩個if連用怎麼理解

1 本程式輸出結果是 over 2 第一個if的理解 題目中有兩個if語句,構成了雙重巢狀判斷條件。本題目中的第一個if為第一層判斷條件。擴充套件資料 一 c語言中if語句用法 1 一般格式為 if 表示式 語句 1 else 語句2 值得注意的是,else子句是可選的。當括號中的表示式的值為真值時...

C語言中,怎樣不用中間變數而互換兩個變數的值呢

有兩種方式可以不使用中間變數,交換同型別的變數a,b的值 1 使用加法操作 a b b a b a b 2 使用異或操作 a b b a a b c語言運算子是說明特定操作的符號,它是構造c語言表示式的工具。c語言的運算異常豐富,除了控制語句和輸入輸出以外的幾乎所有的基本操作都為運算子處理。除了常見...