C語言這個字元替換的程式沒看懂中間for迴圈是什麼意思啊

時間 2021-08-30 11:20:53

1樓:匿名使用者

第一段for迴圈:判斷源字串<>模板字串?

for(j=0,k=i,match_len=0;pattern[j];j++,k++)

第二個for迴圈:輸入字串與模板長度相等情況的處理if(match_len==pattern_len)else dst[m]=src[i];

m++;

最後看整體的大迴圈

for(i=0;src[i];i++)

if(match_len==pattern_len)else dst[m]=src[i];m++;

dst[m]='\0';

puts(dst);

}總體看就是先判斷輸入的源字串長度,如果與模板相等,就按照規則處理,最後輸出修改後的字串。

2樓:

第一個for迴圈,最外層大迴圈,遍歷字串src;

第二個for迴圈,內層迴圈,在外層for迴圈的基礎上遍歷字串pattern,依次將最外層大迴圈的字元與之相匹配,相當於一個長度為pattern_len的滑動視窗在src陣列上移動,直到找到src中完全與pattern完全匹配的src一段子字串;

第三個for迴圈,內層迴圈,結合if判斷語句,match_len==pattern_len先將字串replace內容逐字元拷貝到字元陣列dst中,之後i=i+match_len-1;,在外層for迴圈的基礎上直接跳過可匹配的字串序列,繼續遍歷匹配字串序列之後的字元陣列。若是match_len!=pattern_len,則在上次已經新增匹配字串的結尾寫入第i個字元,當然如果不滿足match_len==pattern_len,後面dst[m]也會被覆蓋掉。

對於這個c語言程式顯示一個月的提醒列表裡的for迴圈是什麼意思

3樓:匿名使用者

for(i=0;ii; j--)裡的i是就是為你上一個for迴圈裡面i的值。

舉個例子就是當i=5時,滿足條件,然後執行到下面的語句還有就是對於for(j=num_remind; j>i; j--),只是裡面i的值就為5咯

這個c語言程式中的4個for語句是怎麼迴圈的求詳細解釋, 10

4樓:匿名使用者

第一個for,說明這個陣列是三行,所以要迴圈三次;

然後裡面巢狀了一個for,說明每行有兩個資料。

所以現執行i=0;k=0;k=1;

再執行i=1;k=0;k=1;

最後執行k=2;k=0;k=1;

這樣輸入的迴圈就結束了。

下面的兩個迴圈和上面的一樣,只是輸出變為輸出了。輸出3*2的陣列。

5樓:幻想之翼

前兩個for為錄入陣列,後兩個為輸出陣列。按先行後列依次排序。

6樓:硬硬的高b丶

前面兩個是鍵盤輸入一個3行2列的陣列,第一個是輸入3行陣列,第二個是指輸入的陣列中每行有2列。後面兩個是輸出順序3行2列的陣列。

c語言中for迴圈怎麼理解?

7樓:楓璽

for迴圈是程式語言中一種開界的迴圈語句,而迴圈語句由迴圈體及迴圈的終止條件兩部分組成,for迴圈一般形式為:for(單次表示式;條件表示式;末尾迴圈體)。

執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號{}可以省略,執行完中間迴圈體後接著執行末尾迴圈體  。執行末尾迴圈體後將再次進行條件判斷,若條件還成立,則繼續重複上述迴圈,當條件不成立時則跳出當下for迴圈。

for迴圈例項:

# include

int main(void)

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

return 0;}

假如 n=4,當 i=1 時,m=1,sum=1。當 i=2 時,m=1×2,sum=1+1×2。當 i=3 時,m=1×2×3,sum=1+1×2+1×2×3。

當 i=4 時,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。

擴充套件資料

for迴圈注意事項:

1、for迴圈的**不僅可以寫一句,也可以寫多句(保證第二部分的返回值是布林值)

2、for迴圈的三個部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判斷,預設值為true;第三部分省略表示省略後什麼也不執行。

3、小迴圈在外,大迴圈在內、

4、如果for迴圈有條件判斷,可以將條件放到for迴圈外。

5、 for迴圈中的"單次表示式"、"條件表示式"和"迴圈體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。

8樓:guxuecan劍

以題目中的程式為例子:

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

a+=i;

for迴圈裡面的三個引數為三個表示式:

第一個控制表示式」i=1「在迴圈開始時執行,且只執行一次。

第二個控制表示式必須是一個邏輯表示式,且在每次迴圈迭代開始重複前計算。

第三個控制表示式」i++「在每一次迴圈迭代結束時執行。

只有第二個邏輯表示式為真時,語句塊內的語句才執行。

9樓:匿名使用者

1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。

2、下面舉例說明for語句的使用方法:

int i;

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

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld

10樓:匿名使用者

a+=i就是a=a+i,

for迴圈語句就是:i=0時,a=a+0;再執行i++,即i=1;再執行a=a+i,一直到i=9,為止,能看懂嗎?

11樓:匿名使用者

初始時,i=0,開始迴圈。

第一步:a+=i;然後i++,i變成1,1<10,繼續迴圈;

第二步:a+=i;然後i++,i變成2,2<10,繼續迴圈;

。。。第九步:a+=i;然後i++,i變成9,9<10,繼續迴圈;

第十步:a+=i;然後i++,i變成10,10<10不成立,迴圈結束

12樓:匿名使用者

a相當於一個累加器 每次都用a和i的值相加 然後再把結果存在a中 ,直到i=10為止

a=a+0;

a=a+1;

a=a+2;

a=a+3;

a=a+4;

a=a+5;

a=a+6;

a=a+7;

a=a+8;

a=a+9;

13樓:匿名使用者

for從i=0開始,如果i<10,進入迴圈體 a+=i;結束之後,i++;然後繼續判斷i<10,然後進入迴圈體,a+=i。。。。。如此迴圈,最後得到a=0+1+2+……+9

14樓:

你只要搞清楚for迴圈3個語句的含義應該就懂了第一個是初始化,第二個是條件語句,第三個是自處理語句;

迴圈時第一個語句只使用一次,然後判斷是否滿足第二個語句,滿足則進入迴圈體執行a+=i,然後i自加1,再判斷是否滿足第二個語句,滿足則進入迴圈體執行a+=i,一直到i不滿足i<10了,迴圈跳出。

開始時,i=0,開始迴圈。假設a初始化為0,第一步:a+=i;然後i++,a=0,i變成1,1<10,繼續迴圈;

第二步:a+=i;然後i++,a=1,i變成2,2<10,繼續迴圈;

。。。第九步:a+=i;然後i++,a=36,i變成9,9<10,繼續迴圈;

第十步:a+=i;然後i++,a=45,i變成10,10<10不成立,迴圈結束

15樓:匿名使用者

第一次i=0,a=a+i,後面依次i=1,2,3。。。9,a=a+i;

c語言中for迴圈 中()裡的三個表示式分別省略都是什麼意思?

16樓:bolibei玻璃

for(單次表示式;條件表示式;末尾迴圈體)其中,表示式可以省略,但是分號不可省略。

for迴圈是開界的。它的一般形式為: for(; 《條件表示式》; ) 語句; 初始化總是一個賦值語句, 它用來給迴圈控制變數賦初值; 條件表示式是一個關係表示式, 它決定什麼時候退出迴圈; 增量定義迴圈控制變數每迴圈一次後 按什麼方式變化。

這三個部分之間用";"分開。 例如: for(i=1; i<10時, 結束迴圈。

for迴圈中語句可以為語句體,但要用""將參加迴圈的語句括起來。

for迴圈中的"引數初始化表示式"、"條件表示式"和"更新迴圈變數表示式"都是選擇項,即可以預設,但";"不能預設。省略了初始化,表示不對迴圈控制變數賦初值。省略了條件表示式,則不做其它處理時便成為死迴圈。

省略了增量,則不對迴圈控制變數進行操作,這時可在語句體中加入修改迴圈控制變數的語句。for迴圈的三個表示式都是逗號表示式,也就是說每個表示式可以由幾個表示式構成,中間用",」隔開。

for迴圈可以有多層巢狀。

用C語言編寫比較兩個字串大小的程式 不能用string函式

include int str cmp char str1,char str2 if str1 0 str2 0 return 1 if str1 0 str2 0 return 1 if str1 0 str2 0 return 0 int main else if a i 0 return 1 ...

C語言實現將字串進行加密處理,每個字元的加密規則是,將其轉換為對應的ASCII碼加3後對應的字元輸出

輸入的是英文字元的話,直接加3就可以,但是如果是中文字元的話,如果直接高位和地位加3也可以,但是解密的時候就有一個不確定的存在,因為中文字元的ascii編碼是有0xfe這樣的存在,加上3的話就到時候還原就變得不確定。所以如果是中文字元加密的話,應該把兩個ascii碼轉合併為兩個位元組無符號型別,然後...

c語言輸入字串,將該字串中從第m個字元開始的全部字元複製到另字串

大野瘦子 這樣 include include int main void copystr char char int int m char str1 20 str2 20 printf input string gets str1 printf which character that begin...