網站首頁 編程語言 正文
一、簡述
有沒有初學 C++ 的小白和我一樣,對這幾個的區別迷迷糊糊的,傻傻分不清。為了正確掌握其使用方法,我在做完下面這道題目后,決定做一個小結。
二、詳細介紹
1. strlen()
返回字符串中的字符個數。其格式為 strlen(const char * Str),由此可見,其接受一個 char * 參數。其過程是從字符串的頭開始,一直到遇到第一個空字符 ‘\0’ ,且不把空字符計算在內。
2. sizeof()
計算所占字節數。這是一個運算符,括號中可以是數組,類型,對象等。
以一個指針為例:
#include<iostream>
using namespace std;
int main()
{
?? ?double pi = 3.14;
?? ?double* pt = π
?? ?cout << "sizeof(pt) = " << sizeof(pt);
?? ?cout << ", sizeof(*pt) = " << sizeof(*pt) << endl;
?? ?return 0;
}
pt 是一個指針,而 *pt 是指針 pt 所指向的 double 類型的數 3.14,二者是不一樣的。運行上述代碼后,結果如下:
sizeof(pt) = 4, sizeof(*pt) = 8
說明指針占用 4 個字節,而 double 占用 8 個字節。
3. size()
返回字符串中的字符個數。其格式為 string_Name.size(),在使用 string 對象時使用。其過程是從字符串的頭開始,一直到遇到第一個空字符 ‘\0’ ,且不把空字符計算在內。
三、題目
/*
編寫一個程序,讓用戶輸入三次 40 碼跑的成績(如果您愿意,也可以讓用戶輸入 40 米跑的成績),
并顯示次數和平均成績。請使用一個 array 對象來存儲數據(如果編譯器不支持 array 類,請使用數組)
*/
四、代碼
#include<iostream>
#include<array>
#include<string>
using namespace std;
int main()
{
?? ?array<double, 3> grade;
?? ?string string_animal = "cat";
?? ?
?? ?cout << "1st: ";
?? ?cin >> grade[0];
?? ?cout << "2nd: ";
?? ?cin >> grade[1];
?? ?cout << "3th: ";
?? ?cin >> grade[2];
?? ?double time = (grade[0] + grade[1] + grade[2]) / 3;
?? ?cout << "The number is " << sizeof(grade)/sizeof(grade[0]) << ", and grade is " << time << endl;
?? ?cout << "The number of string_animal is " << string_animal.size() << endl;
?? ?return 0;
}
原文鏈接:https://blog.csdn.net/qq_44859713/article/details/123495443
相關推薦
- 2022-04-09 一起來學習一下python的數據類型_python
- 2022-01-11 Cookie、sessionStorage和localStorage的區別
- 2022-04-05 關于Unity中RectTransform與transform的區別_C#教程
- 2022-07-14 python修改包導入時搜索路徑的方法_python
- 2022-11-29 redis的主從復制,哨兵和cluster集群
- 2023-04-07 Python實現SVM支持向量機的示例代碼_python
- 2023-01-12 C語言求字符串長度的四種方法實例代碼_C 語言
- 2022-05-10 Element-ui 中<template slot-scope=“scope“> 的用法問題以及剖
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支