C語言學習 關于short和int

🌈 關于今天的這一part 簡單說說關于C中的short 和 int 主要是復盤C語言時候的一個小小的回顧把~(內容來自C Primer Plus 第六版)
🐳主要是討論一下兩個東西
1?? 在給函數傳遞參數時,C編譯器把short類型的值自動轉換成int類型的值 2??在表示short類型時,使用的h有什么用

🌿 ok,先來看看這個題
🤔運行之后的結果是什么

#include <stdio.h>
int main(void)
{short end = 200;printf("end = %hd and %d\n", end, end);return 0
}

沒錯 ,都是200.

🌞這邊有兩個比較需要注意的點。
對于short類型的變量end,在printf()中無論指定 以short類型(%hd)還是int類型(%d) 打印,打印出來的值都相同。

這是因為在給函數傳遞參數時,C編譯器把short類型的值自動轉換成int類型的值。(后面的隱式轉換也是會用到這些點的)你可能會提出疑問:為什么要進行轉換?h修飾符有什么用?

1??第1個問題的答案是,
int類型被認為是計算機處理整數類型時最高效的類型。 因此,在short和int類型的大小不同的計算機中,用int類型的參數傳遞速度更快。

2??第2個問題的答案是,
使用h修飾符可以顯示較大整數被截斷成 short 類型值的情況

舉個例子 🌰

把 65537 以二進制格式寫成一個 32 位數是
00000000000000010000000000000001。

使用 %hd,printf()只會查看后 16位,所以顯示的值是 1 。與此類似,如果使用了%ld,printf()只顯示了儲存在后32位的值

最后要注意的是,在使用 printf()函數時,切記檢查每個待打印值都有對應的轉換說明,還要檢查轉換說明的類型是否與待打印值的類型相匹配

🌈ok 就這么多,完結~ 點個贊唄~

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

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

相關文章

【CUDA】 Trust基本特性介紹及性能分析

Trust簡介 Thrust 是一個實現了眾多基本并行算法的 C 模板庫,類似于 C 的標準模板庫(standard template library, STL)。該庫自動包含在 CUDA 工具箱中。這是一個模板庫,僅僅由一些頭文件組成。在使用該庫的某個功能時,包含需要的頭文件即可。該庫中的所有類型與函數都在命名空…

【linux】 sudo apt update報錯——‘由于沒有公鑰,無法驗證下列簽名: NO_PUBKEY 3B4FE6ACC0B21F32’

【linux】 sudo apt update報錯——‘由于沒有公鑰&#xff0c;無法驗證下列簽名&#xff1a; NO_PUBKEY 3B4FE6ACC0B21F32’ 在運行sudo apt update時遇到報錯&#xff0c;由于沒有公鑰&#xff0c;無法驗證下列簽名&#xff1a; NO_PUBKEY 3B4FE6ACC0B21F32 解決方法&#x…

C++八股(五)之Linux常用命令

目錄 一、Linux常用命令有哪些? 二、Linux中查看進程運行狀態的指令、tar解壓文件的參數。??? 三、如何創建一個新的目錄??? 四、說說如何以root權限運行某個程序。? 五、linux里如何查看一個想知道的進程?? 六、Linux里如何查看帶有關鍵字的日志文件?? 七、…

Qt:11.輸入類控件(QLineEdit-單行文本輸入控件、QTextEdit-多行文本輸入控件、QComboBox-下拉列表的控件)

一、QLineEdit-單行文本輸入控件&#xff1a; 1.1QLineEdit介紹&#xff1a; QLineEdit 是 Qt 庫中的一個單行文本輸入控件&#xff0c;不能換行。允許用戶輸入和編輯單行文本。 1.2屬性介紹&#xff1a; inputMask 設置輸入掩碼&#xff0c;以限定輸入格式。setInputMask(con…

react學習——25redux實現求和案例(完整版)

1、目錄結構 2、count/index.js import React, {Component} from "react"; //引入store,用于獲取數據 import store from ../../redux/store //引入actionCreator 專門創建action對象 import {createDecrementAction,createIncrementAction} from ../../redux/coun…

CSS【詳解】邊框 border,邊框-圓角 border-radius,邊框-填充 border-image,輪廓 outline

邊框 border border 是以下三種邊框樣式的簡寫&#xff1a; border-width 邊框寬度 —— 數值 px&#xff08;像素&#xff09;,thin&#xff08;細&#xff09;,medium&#xff08;中等&#xff09;,thick&#xff08;粗&#xff09;border-style 邊框線型 —— none【默認值…

78. UE5 RPG 創建技能數據并初始化技能ui

在上一篇文章里&#xff0c;我們創建了技能的UI&#xff0c;接下來&#xff0c;我們要考慮如何實現對技能UI的填充&#xff0c;肯定不能直接寫死&#xff0c;需要有一些方法去實現技能的更新。我們期望能夠創建一個技能數據&#xff0c;然后根據數據通過回調的方式實現數據的更…

GET正常,POST獲取不到數據

環境復現 前臺&#xff1a; wx.request({url: xxxxxx,method: POST,header: {"content-type": "application/json"},success(res) {console.log(res);},fail(err) {console.error(網絡請求失敗, err);}}); 后端使用springboot&#xff1a; RequestMappin…

一鍵掌握天氣動態 - 基于Vue和高德API的實時天氣查詢

前言 本文將學習如何使用Vue.js快速搭建天氣預報界面,了解如何調用高德地圖API獲取所需的天氣數據,并掌握如何將兩者有機結合,實現一個功能豐富、體驗出色的天氣預報應用 無論您是前端新手還是有一定經驗,相信這篇教程都能為您帶來收獲。讓我們一起開始這段精彩的Vue.js 高德…

桌面懸浮備忘錄哪個好?能在桌面懸浮使用的備忘app

備忘錄是我們日常工作和生活中的常用工具&#xff0c;它幫助我們記錄重要信息&#xff0c;提醒我們完成各項任務。而將備忘錄懸浮在桌面上使用&#xff0c;無疑能進一步提高我們的工作效率。想象一下&#xff0c;在處理復雜的工作任務時&#xff0c;你能夠隨時在桌面上查看提醒…

C++原創娛樂系列抽搐的井號

玩法&#xff1a; 一次性輸入大量w&#xff0c;s&#xff0c;a&#xff0c;d&#xff0c;然后即可欣賞抽搐的井號 上代碼 #include"bits/stdc.h" #include"Windows.h" using namespace std; int main(){int w10,a10;char n;while(1){for(int i0;i<w;…

JS獲取本機ip地址方法

前端獲取本機ip地址&#xff1b;使用第三方免費API <script>function ipJson(ipJson) {console.log(獲取到的網絡IP,ipJson);//可以把結果存在window上&#xff0c;方便調用window.ipJson ipJson;} </script> <script src"https://whois.pconline.com.cn/…

產品使用手冊深度剖析:五步快速敲定產品手冊策劃思路

引言 在這個信息爆炸的時代&#xff0c;產品使用手冊不僅是產品的“說明書”&#xff0c;更是品牌與用戶之間建立情感連接的橋梁。一份優秀的手冊&#xff0c;能夠迅速吸引用戶的注意力&#xff0c;引導他們輕松上手&#xff0c;并深入體驗產品的魅力。那么&#xff0c;如何撰…

ruoyi項目swagger文檔升級knife4j文檔

注釋admin模塊中的swagger依賴加入knife4j依賴 <!-- swagger3--> <!-- <dependency>--> <!-- <groupId>io.springfox</groupId>--> <!-- <artifactId>springfox-boot-starter</artifactId>--…

IDEA常用技巧薈萃:精通開發利器的藝術

1 概述 在現代軟件開發的快節奏環境中&#xff0c;掌握一款高效且功能全面的集成開發環境&#xff08;IDE&#xff09;是提升個人和團隊生產力的關鍵。IntelliJ IDEA&#xff0c;作為Java開發者的首選工具之一&#xff0c;不僅提供了豐富的編碼輔助功能&#xff0c;還擁有高度…

flowable框架 6.8 自定義函數方法

為了比對流程中條件的checkbox&#xff0c;由于本身elui的checkbox是亂序的&#xff0c;所以需要這個自定義函數來判斷 環境&#xff1a;jdk1.8 flowable6.8 springboot2 1.自定義函數 import org.springframework.stereotype.Component;import java.util.Arrays; import ja…

預算有限?如何挑選經濟適用的安全管理系統?

如今&#xff0c;無論是信息安全、生產安全還是人員安全&#xff0c;都直接關系到企業的穩定運營和長遠發展。然而&#xff0c;對于許多中小企業而言&#xff0c;高昂的安全管理系統投入往往成為一大難題。那么&#xff0c;在預算有限的情況下&#xff0c;如何挑選一款既經濟適…

Github 2024-07-07php開源項目日報 Top9

根據Github Trendings的統計,今日(2024-07-07統計)共有9個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量PHP項目9Blade項目2JavaScript項目1Laravel:表達力和優雅的 Web 應用程序框架 創建周期:4631 天開發語言:PHP, BladeStar數量:75969 個Fork數…

如何整合生成的人工智能?(GenAI)為你未來的工作增加動力

生成人工智能(GenAI)它發展迅速&#xff0c;以前所未有的速度取得了突破。人工智能將繼續改變各行各業&#xff0c;預計2023年至2030年的年增長率將達到37.3%。由于一種新的知識工作者現在面臨被取代的風險&#xff0c;生成式人工智能的驚人崛起進一步加劇了這種緊迫性。據《未…

如何快速學好一門新技術

目錄 學習步驟 1. 基本了解 2. 快速上手 3. 系統學習 4. 主動運用 5. 了解原理 6. 深入源碼 7. 修改源碼 8. 推陳出新 學到哪一步? 無論學習任何編程技術,都可以遵循以下步驟: 學習步驟 1. 基本了解 首先了解這項技術的用途、優缺點及適用場景。建議通過網上的經…