字符數組以及字符串相關的幾個函數

一.字符數組

1.定義:格式如下

char a[10];? //此處就表示定義了一個長度為10的字符數組

2.引用:

也和其余的數組一樣,是下標引用。

3.初始化:

如下代碼為字符數組初始化的幾種情況:

int main()
{char arr[5] = { 'a','b','c','d','e'};char arr[] = { 'a','b','c','d','e' };//與上面的等價char arr[10] = { 'a','b','c','d','e' };//如果{}中的元素個數小于[]內的值,其余的默認為為 '\0'char arr[2][3] = { {'a','b'},{'d','e','f'}};//二維數組也同理
}

二.字符串

1.數組的形式來寫字符串,如下:

char? ch[ ] = { "hello“ } ;//此處該數組的長度應該為6,這是因為字符串后面會自動添加一個'\0'

三.字符數組輸入輸出和字符串處理函數

2.字符數組的處理

(1)逐個字符輸入和輸出。本質上和普通的數組一樣,也可以利用循環語句來輸入,此處不再贅述。

(2)整個字符串的輸入,輸出:可以使用 %s 來輸入。如下:

char ch[10];

scanf_s("%s",ch);

printf("%s",ch);

需要注意的是,在輸入字符串的時候,空格和回車都相當于字符串的分隔符,不能被讀入

3.字符串處理函數:

(1)gets函數,gets?函數的作用就等同于 scanf_s("%s",ch); 具體格式如下:

gets(數組名稱);? ? //值得注意的是,使用gets函數的時候可以輸入任意的字符,回車鍵停止,()內可以是數組名或者指針

(2)puts函數同理...

(3)strlen函數。(求字符串的長度)具體如求數組arr的長度:

strlen(arr);//需要頭文件 #include<string.h>

(4)strcpy函數。(字符串復制函數)具體如將str1中的字符轉化為str2中的值:

strcpy(str1,str2);//需要保證str1的長度足夠大,其真實的含義是:將str2中的字符串內容(包含‘\0’)復制到到str1中,返回的是str1的地址值。

(5)stract函數。(字符串連接函數)如將arr1連接到arr2后面:

stract(arr2,arr1);//在連接的時候arr1會自動覆蓋arr2后面的‘\0’

(6)strcmp函數。(字符串比較函數)如比較arr1和arr2的大小:

strcmp(arr1,arr2);//指的是將兩個字符串從左到右的每一個字符比較ASCII碼值,知道出現'\0'或者不相等為止。如果arr1>arr2,返回正整數;如果arr1<arr2,返回負整數;如果arr1=arr2,返回0

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13017.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13017.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13017.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

25考研英語長難句Day03

25考研英語長難句Day03 【a.詞組】【b.斷句】 多虧了電子學和微力學的不斷小型化&#xff0c;現在已經有一些機器人系統可以進行精確到毫米以下的腦部和骨骼手術&#xff0c;比技術高超的醫生用手能做到的精確得多。 【a.詞組】 詞組翻譯thanks to多虧了&#xff0c;由于cont…

【JavaEE進階】 Bean的作用域與生命周期

文章目錄 &#x1f343;Bean的作用域&#x1f6a9;作用域的使用&#x1f6a9;觀察Bean的作用域&#x1f388;單例作用域&#x1f388;多例作用域&#x1f388;請求作用域&#x1f388;會話作?域&#x1f388;Application作?域 &#x1f384;Bean的?命周期?總結 &#x1f34…

win11家庭中文版安裝docker,報錯 Docker Engine stopped

先引一下這位博主的鏈接超詳細Windows11家庭中文版系統安裝Docker-20230401_windows11安裝docker-CSDN博客&#xff0c;我到前五步(跳出頁面重啟)和博主都是一樣的&#xff0c;但是第六步我并沒有報錯&#xff0c;直接跳出docker界面 記錄一下我的解決辦法&#xff0c;首先按照…

金價又雙叒漲了!現貨黃金什么比較好

雖然近期有新聞顯示&#xff0c;國內的實物黃金價格出現大幅的下跌&#xff0c;但是從整體看&#xff0c;多個黃金投資品種的長期上升趨勢還是比較穩定的&#xff0c;因此我們會看到&#xff0c;很多投資者會趁現在這波下跌重新入場做多。那么投資黃金買什么比較好呢&#xff1…

Java中的類與對象-深入探索

在Java編程的世界里&#xff0c;類&#xff08;Class&#xff09;和對象&#xff08;Object&#xff09;是兩個核心概念。它們是面向對象編程&#xff08;OOP&#xff09;的基石&#xff0c;使得Java能夠處理復雜的數據結構和交互。本文將深入解析Java中的類和對象&#xff0c;…

淺述遙感技術在農業領域的應用

雖久未更新&#xff0c;但本文依舊延續以前敘述風格&#xff0c;即以通俗易懂方式描述關鍵問題。 本文章節安排如下&#xff1a; 簡述背景&#xff1b;介紹在農業領域的主要應用技術的關鍵問題&#xff1b;總結和實例介紹。 1 背景描述-何為遙感圖像&#xff1f; 一般來說&a…

如何向全國各大新聞網站投稿?

在信息爆炸的時代,新聞媒體的投稿工作對于單位的信息宣傳員來說,既是一項重要的職責,也是一項充滿挑戰的任務。作為一名信息宣傳員,我負責著單位的對外信息宣傳投稿工作,每個月都需要在各大媒體上發表文章,以展示單位的成果和風采。 然而,剛開始的投稿之路并不順暢。我習慣性地…

4種企業防泄密的辦法,強烈推薦第二種

4種企業防泄密的辦法&#xff0c;強烈推薦第二種 企業信息泄密常見的原因有內部人員、黑客、違規收集信息、第三方合作商&#xff0c;以下將為你詳細分析這些泄密原因以及應對的方法。 1、內部人員泄密 內部員工由于能夠接觸到敏感數據&#xff0c;成為主要的泄露數據群體。這…

springboot 序列化和反序列化

介紹 在Java中&#xff0c;序列化和反序列化是一種將對象轉換為字節流或將字節流轉換為對象的機制。通過序列化&#xff0c;可以將對象存儲到文件中、傳輸到網絡上&#xff0c;或者在分布式系統中進行對象的傳遞。本文將詳細介紹Java序列化和反序列化的原理、使用方法和常見應用…

優路教育:以實干、創新、永不言敗的精神內核,推動新時代職教發展

隨著“教育家精神”的提出&#xff0c;新時代下人民教師的職業內涵更為豐富&#xff0c;同時也被賦予了更為崇高的教育使命。強教必先強師&#xff0c;加強教師隊伍建設是建設教育強國重要的基礎工作。由此&#xff0c;打造一批勤勉敬業、創新實干的教師隊伍&#xff0c;成為了…

2024最新洗地機推薦,洗地機怎么選?熱門品牌哪個最好用?

在現代生活中&#xff0c;忙碌的日常讓家庭清潔變得更加繁重和耗時。然而&#xff0c;洗地機的引入徹底改變了這一狀況。憑借其強大的清潔效果和簡便的使用方式&#xff0c;洗地機能夠迅速清除地面上的各種污垢&#xff0c;使清潔工作變得輕松自如。正因為如此&#xff0c;洗地…

JWT生成token工具類實現

JWT簡介 JWT定義 JWT全稱為Json web token&#xff0c;也就是 Json 格式的 web token JWT數據結構 1.JWT由三段字符串組成&#xff0c;中間用.分隔 Project_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNzE2MzcwMTM0LCJpYXQiOjE3MTU3NjUzMzQsImp0aSI6IjllO…

cookie,session, token 的特點與區別

Cookie、Session 和 Token 在 Web 開發中扮演著不同的角色&#xff0c;各自具有特點和區別&#xff1a; Cookie 存儲在用戶的瀏覽器中&#xff0c;是由服務器發送到客戶端并存儲在客戶端的小型文本文件。可以包含有關用戶的信息&#xff0c;如身份驗證令牌、用戶偏好設置等。可…

MySQL觸發器 ,視圖索引 , 事務

MySQL進階二 補充觸發器知識 # 刪除觸發器代碼 drop trigger 觸發器名;# 當一個學員發生轉班&#xff0c;班級對應的總數進行同步變化# 當一個學員發生轉班&#xff0c;班級對應的總數進行同步變化delimiter !!create trigger movestudent after update on stu1 for each ROW…

力扣HOT100 - 152. 乘積最大子數組

解題思路&#xff1a; 方法一&#xff1a;暴力 class Solution {public int maxProduct(int[] nums) {int max Integer.MIN_VALUE;int s 1;for (int i 0; i < nums.length; i) {s 1;for (int j i ; j < nums.length; j) {s * nums[j];max Math.max(max, s);}}ret…

出國旅游常用英語,柯橋成人英語培訓

Where can I catch a taxi?哪里我可以叫到出租車&#xff1f; The taxi zone is right on the left corner over there.出租車站臺就在左邊轉角處。 Are you free?您有空嗎&#xff1f; Sure. Where are you going?當然。您要去哪里&#xff1f; Drive me back to Santa …

手工創建 kamailio database tables

有些場景可能kamdbctl create不好使&#xff0c;可能需要手工創建 kamailio database tables&#xff0c;可參考下面的命令序列&#xff1a; USE mysql # 刪除之前創建的用戶 SELECT user,host FROM user; DROP USER kamailio%; FLUSH PRIVILEGES; # 刪除之前創建的數據庫 DROP…

#Docker | Ngrok# 使用Ngrok和Docker進行內網穿透

一、注冊 Ngrok官網注冊&#xff0c;可以使用gmail或者outlook郵箱&#xff0c; 正常填寫后你會收到一封電子郵件&#xff0c;點擊郵件中鏈接即注冊成功 二、獲取密鑰 登錄&#xff0c;點擊Your Authtoken&#xff0c;最上面copy左邊就是你得密鑰 三、使用內網穿透啟動docker…

c++20---std::erase----std::erase_if

問題&#xff1a;如何刪除滿足條件的所有元素。 erase #include <iostream> #include <algorithm> #include <vector>int main(){std::vector<int> vec{1,2,3,1,1,1,1,1};std::erase(vec,1);for(int v:vec) std::cout<<v<<" "…

與禹老師學前端vue3學習匯總

24.5.15&#xff1a; 創建Vue3工程 1.確定自己電腦有沒有nodejs環境&#xff0c;在cmd中輸入node&#xff0c;如果出現Node.js的版本號說明已經有這個環境了&#xff0c;否則搜索Node.js安裝 2.先在D盤創建一個文件夾Vue3_Study&#xff0c;然后在這個空文件夾中右鍵選擇終端…