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

溫馨提示×

溫馨提示×

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

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

C語言字符串怎么表示

發布時間:2022-04-18 10:20:49 來源:億速云 閱讀:268 作者:iii 欄目:開發技術

這篇文章主要介紹了C語言字符串怎么表示的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C語言字符串怎么表示文章都會有所收獲,下面我們一起來看看吧。

    字符串表示方式

    字符串常量

    C語言字符串怎么表示

    用雙引號括起來的內容稱為字符串常量,例如:"Hello, World!"為一個字符串常量。雙引號中的字符和編譯器自動加入末尾的\0字符,都作為字符串存儲在內存中。

    字符串常量屬于靜態存儲類別。當在函數中使用字符串常量時,該字符串只會被存儲一次,用雙引號括起來的內容被視為指向該字符串存儲位置的指針,如以下例程所示:

    /* strptr.c -- 把字符串看做指針 */
    #include <stdio.h>
    
    int main(void) {
    
        printf("%s, %p, %c\n", "Who", "you", *"are");
    
        return 0;
    }

    程序輸出結果如下:

    Who, 0x400668, a

    #strlen

    strlen函數在使用前需要添加一個頭文件:#include<string.h>

    函數聲明:size_tstrlen(const char *s);

    函數功能:獲取字符串的長度,不包括&lsquo;\0&rsquo;。

    返回值:返回字符串中的字符個數(空格也算一個字符)

    例:

    #inclue<stdio.h>
    #include<string.h>
    int main()
    {
    	char str[]="hello world";
    	int len=strlen(str);
    	printf("%d",len);//len=11
    }

    #strcpy和strncpy

    ##strcpy

    函數聲明:char *strcpy(char *dest,const char *src);

    函數說明:拷貝src指向的字符串到dest指針指向的內存中,&lsquo;\0&rsquo;也會拷貝過去。

    函數返回值:目的內存的地址。

    ※※注意:在使用此函數時,必須保證dest指向的內存空間足夠大,否則會出現內存污染。

    例:

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
    	char str[]="hello world";
    	char s[]="hello earth";
    	strcpy(str,s);
    	printf("%s",str);//打印結果是hello earth
    }

    ##strcnpy

    函數聲明:char *strncpy(char *dest,const char *src,size_tn);

    函數說明:將src指向的字符串前n個字節,拷貝到dest指向的內存中。

    返回值:目的內存的首地址。

    ※※注意:1.strncpy不拷貝&lsquo;\0&rsquo;

                     2.如果n大于src指向的字符串中的字符個數,則在dest后面填充n-strlen(src)個'\0'

    例:

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
    	char str[]="hello world";
    	char s[]="hello earth";
    	strncpy(str,s,8);
    	printf("%s",str);
    }

    C語言字符串怎么表示

    #strcat和strncat

    ##strcat

    函數聲明:char *strcat(char *dest,const char *src);

    函數功能:strcat函數追加src字符串到dest指向的字符串的后面,追加的時候會追加'\0'。

    ※※注意:保證dest指向的內存空間足夠大。

    例:

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
    	char str[100]="hello world";
    	char s[]="hello";
    	strcat(str,s);
    	printf("%s",str);
    }

    C語言字符串怎么表示

     ##strncat

    函數聲明:char *strncat(char *dest,const char *src,size_tn);

    追加src指向的字符串的前n個字符,到dest指向的字符串的后面。

    ※※注意:如果n大于src的字符個數,則只將src字符串追加到dest指向的字符串的后面,追加的時候會追加'\0'

    例:

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
    	char str[100]="hello world";
    	char s[]="hello";
    	strncat(str,s,4);
    	printf("%s",str);
    }

    C語言字符串怎么表示

    #strcmp和strncmp

    ##strcmp

    函數聲明:int strcmp(const char *s1,const char *s2);

    函數說明:比較s1和s2指向的字符串的大小。

    比較的方法:逐個字符去比較ASCII碼,一旦比較出大小則返回。

    返回值:

    如果s1指向的字符串大于s2指向的字符串,返回1

    如果s1指向的字符串小于s2指向的字符串,返回-1

    如果相等的話返回0

    例:

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
    	char str1[]="hello world";
    	char str2[]="hello world";
    	int ret;
    	ret=strcmp(str1,str2);
    	printf("%d",ret);//ret==0
    }

    ##strncmp

    函數聲明:int strncmp(const char *s1,const char *s2,size_t n);

    函數說明:比較s1和s2指向的字符串中的前n個字符

    例:

    #include<stdio.h>
    #include<string.h> 
    int main()
    {
    	char s1[]="hello world";
    	char s2[]="hello earth";
    	int ret;
    	ret=strncmp(s1,s2,5);
    	if(ret>0)
    		printf("s1的前五個字符大于s2的前五個字符\n"); 
    	else if(ret<0)
    		printf("s1的前五個字符小于s2的前五個字符\n"); 
    	else
    		printf("s1的前五個字符等于s2的前五個字符\n"); 
    }

    關于字符串的知識點我暫時梳理了這么多,還有許多未涉及到的地方,希望大家給予意見,接下來讓我們做一道比較有意思的題目。

    #題目

    輸入n行身份證號,按照年齡排序(從大到小)并輸出。

    #include<stdio.h>
    #include<string.h>
     
    int main()
    {
    	char a[100][100],birth[100][100],s[100];
    	int n,i,j;scanf("%d",&n);
    	gets(s);
    	for(i=0;i<n;i++)
    	{
    		gets(a[i]);
    		strncpy(birth[i],a[i]+6,8);
    	}
    	for(i=0;i<n;i++)
    	{
    		for(j=i+1;j<n;j++)
    		{
    			if(strcmp(a[j],a[i])<0)
    			{
    				strcpy(s,a[j]);
    				strcpy(a[j],a[i]);
    				strcpy(a[i],s);
    			}
    		}
    	}
    	for(i=0;i<n;i++)
    	{
    		printf("%s\n",a[i]);
    	}
     }

    關于“C語言字符串怎么表示”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C語言字符串怎么表示”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    通江县| 揭西县| 庆云县| 化德县| 兴城市| 九江市| 林州市| 新田县| 昌乐县| 尼勒克县| 集安市| 海淀区| 苏尼特左旗| 睢宁县| 怀宁县| 博客| 南阳市| 论坛| 临颍县| 崇文区| 福鼎市| 罗江县| 鄯善县| 乌什县| 阜城县| 新民市| 宁海县| 句容市| 大悟县| 安陆市| 嘉鱼县| 崇义县| 广丰县| 锦州市| 汾阳市| 洪洞县| 达孜县| 钟祥市| 宿迁市| 静宁县| 灵璧县|