遍歷字串

2021-09-01 05:59:03 字數 1913 閱讀 4563

遍歷字串的三種方法:

(1) for迴圈(字元陣列)

#include #include #define max_size 1024  

int main()

; int i;

int len;

printf("please input string : ");

gets(src);

len = strlen(src);

printf("string = ");

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

printf("\n");

return 0;

}

執行結果:

please input string : abcdefg123456

string = abcdefg123456

please input string : abcdefg123456

string = abcdefg123456

在這裡我們首先利用了strlen函式測量字元陣列的長度,然後用for迴圈遍歷字串,將輸入的字串的內容乙個字元乙個字元輸出。

(2) while迴圈(字元陣列)

#include #include #define max_size 1024

int main()

; int i = 0;

printf("please input string : ");

gets(src);

printf("string = ");

while (src[i] != '\0')

printf("\n");

return 0;

}

執行結果:

please input string : congcong123456

string = congcong123456

please input string : congcong123456

string = congcong123456

由於輸入的字串的長度是未知的,然而我們遍歷字串的時候需要用到迴圈,我們知道當迴圈次數未知時,最好使用while語句。

(3)while迴圈(指標)

#include #include #define max_size 1024

int main()

; char *temp = src;

printf("please input string : ");

gets(src);

printf("string = ");

while (*temp != '\0')

printf("\n");

return 0;

}

執行結果:

please input string : congcong123

string = congcong123

please input string : congcong123

string = congcong123

在這裡我們首先定義了乙個指標變數,指向陣列的首位址,那為什麼要定義這個指標變數呢?為什麼不直接用「src++;」呢?

既然陣列名代表了指標常量,常量怎麼可以自增呢?所以不可以用「src++;」,如果使用「src++;」,那麼在編譯時便會報錯「錯誤:自增運算中的左值無效」。

注意:在上述「將字串轉化成整型數」的程式設計題中,還有乙個小知識點,就是如何準確地將正數和負數表示出來。首先我們可以利用乙個「flag」,我們將flag初始化為1,符號會出現在我們所輸入的字串的首位,只需要判斷這個是不是『-』,如果是的話,將flag置為-1,最後將結果與flag相乘即可,如果是正數,則不用管,正數乘1還是原數。

字串相乘 遍歷

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於110。nu...

for迴圈遍歷字串

for迴圈和while迴圈很類似 1.可以讓程式中的某段 重複執行 2.可以遍歷容器型別中的每乙個資料 for迴圈的語法格式 for 臨時變數 in 容器型別的資料 字串,列表,元組,字典,range,集合 print 臨時變數 for迴圈遍歷字串中的每乙個資料 my str hello for v...

字串的遍歷

includeusing namespace std void getchar1 char str void getchar2 char str int main void void getchar1 char str cout void getchar2 char str cout i love ...