p9函數(1)

int Add(int x,int y)
{
?? ?int z=0;
?? ?z=x+y;
?? ?return z;
}
int main()
{
?? ?int a=10;
?? ?int b=20;
?? ?int sum=Add(a,b);
?? ?printf("%d\n",sum);
?? ?return 0;

}

字符串求長度

int main()
{
?? ?char arr1[]="bit";
?? ?char arr2[20]="#######";
?? ?strcpy(arr2,arr1);
?? ?printf("%s\n",arr2);
?? ?//strcpy -string copy -字符串拷貝
?? ?//strlen -string length
?? ?return 0;
}

bit\0########

\0就是結束標志

memset

memory - 內存 set 內存設置

將hello 替換成*

int main(){
?? ?char arr[]="hello word";
?? ?memset(arr,'*',5);
?? ?printf("%s\n",arr);
?? ?//***** world
?? ?return 0;
}

get_max(int x,int y)
{
?? ?if(x>y)
?? ??? ?return x;
?? ?else?
?? ??? ?return y;
}
int main()
{
?? ?int a=10;
?? ?int b=20;
?? ?//函數的使用
?? ?int max=get_max(a,b);//定義函數
?? ?printf("max=%d\n",max);
?? ?return 0;
}

寫一個函數交換兩個數值

用指針交換

void Swap(int *pa,int *pb){int tmp=0;tmp=*pa;*pa=*pb;*pb=tmp;
}
int main(){int a=10;int b=20;printf("a=%d b=%d\n",a,b);Swap(&a,&b);printf("a=%d b=%d\n",a,b);return 0;
}

//當實參傳給形參的時候

//形參其實是實參的一份臨時拷貝

函數的調用:

傳值調用

函數的形參和實參分別占用不同內存塊,對形參的修改不會影響實參。

傳址調用

傳址調用是把函數外部創建變量的內存地址傳遞給函數參數的一種調用函數的方式。

這種傳參方式可以讓函數和函數外邊的變量建立起真正的聯系,也就是函數內部可以直接操作函數外部的變量。

#include <stdio.h>int is_prime(int n) {int j=0;for(j=2;j<n;j++){if(n%j==0)return 0;}return 1;
}
int main(){//打印100-200之間的素數int i=0;for(i=100;i<=200;i++){//判斷i是否為素數if(is_prime(i)==1)printf("%d\n",i);}return 0;
}

int is_leap_year(int y)
{if((y%4==0&&y%100!=0)||(y%400==0))return 1;elsereturn 0;
}
int main()
{int year=0;for(year=1000;year<=2000;year++){//判斷year是否為閏年if(is_leap_year(year)){printf("%d ",year);}}
}

//二分查找
int binary_search(int arr[],int k,int sz)
{//算法的實現int left=0;int right=sz-1;while(left<=right){int mid=(left+right)/2;if(arr[mid]<k){left=mid+1;}else if(arr[mid]>k){right=mid-1;}else{return mid;}
}return -1;}
int main(){//在一個有序數組中查找具體的某個數//如果找到返回下標,找不到返回-1。int arr[]={1,2,3,4,5,6,7,8,9,10};int k=7;int sz=sizeof(arr)/sizeof(arr[0]);int ret=binary_search(arr,k,sz);if(ret==-1){printf("找不到指定的數字\n");}else{printf("找到了,下標是:%d\n",ret);}return 0;
}

//寫一個函數,每調用一次這個函數,就會將num的值增加1.

void Add(int*p)
{(*p)++;
}int main()
{int num =0;Add(&num);printf("num=%d\n",num);Add(&num);printf("num=%d\n",num);Add(&num);printf("num=%d\n",num);
}

函數的嵌套調用和鏈式訪問

函數和函數之間可以有機結合

int main(){
?? ?int len=0;
?? ?len=strlen("abc");
?? ?//1
?? ?printf("%d\n",len);
?? ?//2
?? ?printf("%d\n",strlen("abc"));
return 0;
}


int main()
{
?? ?printf("%d",printf("%d",printf("%d",43)));//43 2 1//43+打印的字符數+字符數
?? ?return 0;
}

先打印了一個43,再打印了2個字符,再打印了1個字符。

int Add(int x,int y);//函數聲明
int main(){
?? ?int a=10;
?? ?int b=20;
?? ?int sum=0;

//函數調用
?? ?sum=Add(a,b);
?? ?printf("%d\n",sum);
?? ?return 0;
}

//函數定義

int Add(int x,int y){
?? ?int z=x+y;
?? ?return z;
}

此寫法是小組寫的分模塊的功能。

add.h

int Add(int x,int y);//函數聲明

add.c

int Add(int x,int y){
?? ?int z=x+y;
?? ?return z;
}

test.h

#include "add.h"

int main(){
?? ?int a=10;
?? ?int b=20;
?? ?int sum=0;

//函數調用
?? ?sum=Add(a,b);
?? ?printf("%d\n",sum);
?? ?return 0;
}

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

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

相關文章

移動UI: 什么特征會被認為是簡潔風格,用案例告訴你

什么是簡潔風格&#xff0c;恐怕一百個人有一百個是理解&#xff0c;本文通過理論分析案例的方式進行探討。 移動 UI 中的簡潔風格通常具有以下幾個特征&#xff1a; 1. 平面化設計&#xff1a; 簡潔風格的移動 UI 善于運用平面化設計&#xff0c;即去除過多的陰影、漸變和立…

水冷液冷負載系統的六種基本類型

您可以選擇六種基本類型的冷卻系統&#xff0c;以滿足負載的冷卻需求。每個人都有其優點和缺點。本文旨在識別不同類型的冷卻系統并確定它們的優缺點&#xff0c;以便您可以根據自己的需求做出明智的選擇。 液體冷卻系統有六種基本類型&#xff1a; 1.液對液 2.閉環干燥系統…

聚類標簽的藝術:SKlearn中的數據聚類標簽分配策略

聚類標簽的藝術&#xff1a;SKlearn中的數據聚類標簽分配策略 在機器學習領域&#xff0c;聚類是一種無監督學習方法&#xff0c;旨在將數據集中的樣本劃分為若干個簇&#xff0c;使得同一簇內的樣本相似度高&#xff0c;而不同簇之間的樣本相似度低。聚類標簽分配是聚類過程中…

深度講解 UUID/GUID 的結構、原理以及生成機制

目錄 一. 前言 二. 被廣泛使用 三. UUID 的結構 3.1. 必須了解的 3.2. 十六進制數字字符&#xff08;hexDigit&#xff09; 3.3. UUID 基本結構 3.4. 類型&#xff08;變體&#xff09;和保留位 3.5. 版本&#xff08;子類型&#xff09; 3.6. 時間戳 3.7. 時鐘序列 …

管理《歐盟數字服務法》交易者要求

《數字服務法》合規性 根據《數字服務法》(DSA) 的要求&#xff0c;對于在歐盟地區 (EU) 通過 App Store 分發 App 的所有交易商&#xff0c;Apple 需要驗證并顯示其聯系信息。請指明你是否將以交易商或非交易商的身份在歐盟地區分發任何內容。進一步了解你是否應為交易商。 …

[激光原理與應用-101]:南京科耐激光-激光焊接-焊中檢測-智能制程監測系統IPM介紹 - 5 - 3C行業應用 - 電子布局類型

目錄 前言&#xff1a; 一、激光在3C行業的應用概述 1.1 概述 1.2 激光焊接在3C-電子行業應用 二、3C電子行業中激光焊接 2.1 紐扣電池 2.2 均溫板 2.3 指紋識別器 2.4 攝像頭模組 2.5 IC芯片切割 三、3C行業中激光切割 四、激光在3C行業中的其他應用 4.1 涂層去除…

Golang | Leetcode Golang題解之第222題完全二叉樹的節點個數

題目&#xff1a; 題解&#xff1a; func countNodes(root *TreeNode) int {if root nil {return 0}level : 0for node : root; node.Left ! nil; node node.Left {level}return sort.Search(1<<(level1), func(k int) bool {if k < 1<<level {return false}…

包裝工程期刊

《包裝工程》&#xff08;Packaging Engineering&#xff09;創刊于1980年&#xff0c;原刊名為《防腐包裝》&#xff0c;由聶榮臻元帥親筆題寫。主管單位為中國兵器裝備集團有限公司&#xff0c;主辦單位為西南技術工程研究所&#xff0c;出版單位為《包裝工程》編輯部。目前期…

【CSS】縮寫屬性gap

在CSS Grid Layout&#xff08;網格布局&#xff09;和Flexbox&#xff08;彈性盒布局&#xff09;中&#xff0c;gap 是一個縮寫屬性&#xff0c;用于同時設置行間隙&#xff08;gutter&#xff09;和列間隙&#xff08;在Flexbox中通常稱為“交叉軸間隙”&#xff09;的大小。…

Linux 網絡抓包工具tcpdump編譯

tcpdump 的編譯步驟 1. 下載源代碼 訪問 tcpdump 的官方網站&#xff08;如&#xff1a;http://www.tcpdump.org/&#xff09;下載最新的源代碼壓縮包&#xff0c;如tcpdump-4.9.2.tar.gz&#xff08;注意版本號可能會有所不同&#xff09;。 2. 解壓縮源代碼 使用 tar 命令…

ubuntu22.04+pytorch2.3安裝PyG圖神經網絡庫

ubuntu下安裝torch-geometric庫&#xff0c;圖神經網絡 開發環境 ubuntu22.04 conda 24.5.0 python 3.9 pytorch 2.0.1 cuda 11.8 pyg的安裝網上教程流傳著許多安裝方式&#xff0c;這些安裝方式主要是&#xff1a;預先安裝好pyg的依賴庫&#xff0c;這些依賴庫需要對應上pyth…

貝葉斯優化包的基礎介紹

以下為該學習地址的學習筆記 學習地址&#xff1a;Basic tour of the Bayesian Optimization package — Bayesian Optimization documentation 貝葉斯優化簡介 貝葉斯優化是一種基于貝葉斯推斷和高斯過程的全局優化方法&#xff0c;它試圖在盡可能少的迭代次數內找到一個未…

【Dison夏令營 Day 12】如何用 Python 構建數獨游戲

通過本綜合教程&#xff0c;學習如何使用 Pygame 在 Python 中創建自己的數獨游戲。本指南涵蓋安裝、游戲邏輯、用戶界面和計時器功能&#xff0c;是希望創建功能性和可擴展性數獨益智游戲的愛好者的理想之選。 數獨是一種經典的數字謎題&#xff0c;多年來一直吸引著謎題愛好…

實例方法與靜態方法的區別與使用場景

實例方法與靜態方法的區別與使用場景 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 實例方法與靜態方法的區別 在面向對象編程中&#xff0c;方法可以分為實…

昇思MindSpore25天學習Day19:CycleGAN圖像風格遷移互換

(TOC)[CycleGAN圖像風格遷移呼喚] 模型介紹 模型簡介 CycleGAN(Cycle Generative Adversaial Network)即循環對抗生成網絡&#xff0c;來自論文Link:Unpaired lmage-to-mage Translation using Cycle-Consistent AdvesairalNetworks該模型實現了—種在沒有配對示例的情況下學…

從nginx返回404來看http1.0和http1.1的區別

序言 什么樣的人可以稱之為有智慧的人呢&#xff1f;如果下一個定義&#xff0c;你會如何來定義&#xff1f; 所謂智慧&#xff0c;就是能區分自己能改變的部分&#xff0c;自己無法改變的部分&#xff0c;努力去做自己能改變的&#xff0c;而不要天天想著那些無法改變的東西&a…

解析Java中的反射機制及其應用場景

解析Java中的反射機制及其應用場景 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; Java的反射機制是指在運行時可以動態地獲取類的信息&#xff08;如類名、方法、字段等&#xff09;&#xff0c;并…

麒麟桌面操作系統上網絡設置界面消失的解決方法

原文鏈接&#xff1a;麒麟桌面操作系統上網絡設置界面消失的解決方法 Hello&#xff0c;大家好啊&#xff01;今天給大家帶來一篇關于麒麟桌面操作系統上網絡設置界面消失解決方法的文章。在使用麒麟桌面操作系統時&#xff0c;可能會遇到網絡設置界面突然消失的情況&#xff…

斯坦福CS224n深度學習培訓營課程

自然語言處理領域的經典課程涵蓋了從基礎知識到最新研究的全面內容。本培訓營將精選課程內容&#xff0c;結合實際案例和項目實踐&#xff0c;帶領學員深入探索自然語言處理的前沿&#xff0c;學習最先進的深度學習技術。 課程大小&#xff1a;2.6G 課程下載&#xff1a;http…

Softmax函數的意義

來自GPT&#xff0c;后期會再整理。。。 Softmax函數在深度學習中&#xff0c;特別是在多分類任務中&#xff0c;被廣泛用作輸出層的激活函數。它將模型的原始輸出&#xff08;logits&#xff09;轉化為概率分布&#xff0c;使得每個類別的概率總和為1。相比于簡單地使用“單個…