亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言字符串實例分析

發布時間:2022-04-11 14:10:38 來源:億速云 閱讀:198 作者:iii 欄目:開發技術

本篇內容主要講解“C語言字符串實例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C語言字符串實例分析”吧!

看下面這個我們熟知的也是最先學習的代碼

"Hello world!"

這一堆的字母就是字符串字面值,簡稱字符串,每一個字母都是一個字符,字符串需要用" "雙引號來引起,字符需要用’ '單引號來引起,就像下面

"Hello world!"  //字符串
'a'  //字符
'!'  //字符

字符串也算常量,上面三條都算字面常量,之前的講常量的時候就舉過這種例子

那么字符串有什么用呢?

假設我們要把下面的字符串存起來,那么我們需要怎么存呢?

"abcdef"

我們可以把它放在字符串數組里,有兩種形式如下:

#include<stdio.h>

int main()
{
char arr1[10]="abcdef";                     //形式一
char arr2[10]={'a','b','c','d','e','f'};    //形式二

//我們打印一下這些字符串
printf("%s\n",arr1);
printf("%s\n",arr2);

return 0;
}

運行的結果:

abcdef

abcdef

C語言字符串實例分析

把"abcdef"都存在arr[ ]這個數組里面,[ ]里面數是多少,就能存多少字符

arr[10]可以存10個字符 ,但一定要不小于你要存的字符

你也可以不寫[ ]里面的數字,它會自己根據你要存的字符串來調整,就像這樣

#include<stdio.h>

int main()
{
char arr[]="abcdef";    //char-字符類型,沒有字符串類型哦
return 0;
}

那這兩種形式有什么區別呢?

我們不寫arr[ ]里面的數字,我們來看一下

#include<stdio.h>

int main()
{
char arr1[]="abcdef";
char arr2[]={'a','b','c','d','e','f'};

//我們打印一下這些字符串
printf("%s\n",arr1);
printf("%s\n",arr2);

return 0;
}

運行的結果:

abcdef

abcdef燙燙燙燙燙abcdef

C語言字符串實例分析

哎,發現沒有,它們不一樣了,那為什么會出現這種情況呢?

先想一個問題,它是根據什么來停止打印的?

(啊,你會問:它們后面啥都沒有,我怎么會知道它們根據什么來停下來的)

那里確實看不見有什么標志,但是那個標志就是看不見的,字符串的結束標志是\0,它是一個我們馬上就會學到的轉義字符

char arr1[]="abcdef";

這個形式一,字符串后面就默認帶了一個\0

char arr2[]={'a','b','c','d','e','f'};

這個形式二,后面沒有\0

懂了吧,printf去打印的時候要識別到\0才會結束

第一個形式最后一個字符結束就識別到了\0,然后結束

第二個形式識別到最后的f,一直都沒有識別到\0,就一直打印下去,最后就出現剛才的結果

那么如果我們給第二個形式加一個\0作為結束標志怎么樣,不要光想,我們來做一下試試

#include<stdio.h>

int main()
{
char arr1[]="abcdef\0";   //我們也試一下給它也加一個\0
char arr2[]={'a','b','c','d','e','f','\0'};

//我們打印一下這些字符串
printf("%s\n",arr1);    //%s是打印字符串的
printf("%s\n",arr2);    //%s是打印字符串的
 
return 0;
}

運行的結果:

abcdef

abcdef

C語言字符串實例分析

結果運行正常了

那么\0算不算里面的字符串長度的一部分呢?

又來介紹一個好東西,strlen,它可以計算一個字符串長度的函數,但是使用它還是跟以前一樣,需要給另一個頭文件string.h打一下招呼才能使用它,我們來實操一下:

#include<string.h>
#include<string.h>

int main()
{
	char a[] = "abc";
	char b[] = "abc\0";
	printf("%d", strlen(a));
	printf("%d", strlen(b));
	return 0;
}

運行結果:

3

3

C語言字符串實例分析

"abc"

這個字符串的長度為3,所以我們可以知道看不見的\0并不算在長度里面的,就算在后面加上\0也是一樣

大家可以試一試計算一下第二種形式不加\0情況下的字符串長度,保持好奇心,去自己嘗試一下。

就這樣,我們把"abcdef"這個數組儲存起來了,那我們要使用里面的字符怎么辦?我們還需要再了解一個知識:

調用arr里面字符,用arr[2]就可以調用c,用arr[0]就可以調用a,它們的對應關系也就是:

 a  b  c  d  e  f
 0  1  2  3  4  5

我們來實驗一下

#include<stdio.h>

int main()
{
char arr[]="abcdef";
printf("%c",arr[2]);
return 0;
}

運行結果:

a

C語言字符串實例分析

#include<stdio.h>

int main()
{
char arr[]="abcdef";
printf("%c",arr[0]);
return 0;
}

運行結果:

a

C語言字符串實例分析

到此,相信大家對“C語言字符串實例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宽甸| 安化县| 宁乡县| 专栏| 临澧县| 习水县| 东兴市| 沾化县| 东乡县| 崇礼县| 松潘县| 海口市| 柘荣县| 北京市| 昆明市| 松阳县| 山阳县| 泗洪县| 泾川县| 营口市| 来凤县| 基隆市| 霸州市| 衡山县| 房山区| 郸城县| 湘潭市| 革吉县| 西乌| 同德县| 漠河县| 响水县| 茂名市| 通许县| 将乐县| 颍上县| 陈巴尔虎旗| 庆云县| 彰武县| 改则县| 桦甸市|