zoukankan      html  css  js  c++  java
  • 参数与指针

    一个函数仅实现一个功能,

    实参与形参:

    //实参与形参
    #include<stdio.h>
    int sum(int x ,int y){
    	return(x+y);
    }
    int main(){
    	int a=sum(3,5);
    	printf("%d",a);
    } 
    

    传值与传址:

    #include<stdio.h>
    void swap(int x,int y);
    void swap(int x,int y){
    	printf("互换前:%d %d 
    ",x,y);
    	int tmp;
    	tmp=x;
    	x=y;
    	y=tmp;
    	printf("互换后:%d %d
    ",x,y);
    }
    int main(){
    	int x=3,y=5;
    	swap(3,5);
    	printf("in main中%d %d",x,y);
    } 
    
    #include<stdio.h>
    void swap(int *x,int *y);
    void swap(int *x,int *y){
    	printf("互换前:%d %d 
    ",*x,*y);
    	int tmp;
    	tmp=*x;
    	*x=*y;
    	*y=tmp;
    	printf("互换后:%d %d
    ",*x,*y);
    }
    int main(){
    	int x=3,y=5;
    	swap(&x,&y);
    	printf("in main中%d %d",x,y);
    } 
    

     传数组:

    #include<stdio.h>
    void get_array(int a[4]){
    	for(int i=0;i<4;i++){
    		printf("%d ",a[i]);
    	}
    	printf("
    ");
    	a[1]=12;
    	for(int i=0;i<4;i++){
    		printf("%d ",a[i]);
    	}
    	printf("
    ");
    }
    int main(){
    int a[4]={1,2,3,4};
    get_array(a);
    for(int i=0;i<4;i++){
    		printf("%d ",a[i]);
    	}
    return 0;
    } 
    

     可变参数;#include<stdarg.h>

    #include <stdio.h>
    #include <stdarg.h>
    
    int sum(int n, ...);
    
    int sum(int n, ...)
    {
    	int i, sum = 0;
    	va_list vap;//定义一个字符指针的类型
    	va_start(vap, n);//
    	for (i = 0; i < n; i++)
    	{
    		sum += va_arg(vap, int);
    	}
    	va_end(vap);
    
    	return sum;
    }
    
    int main()
    {
    	int result;
    
    	result = sum(3, 1, 2, 3);
    	printf("result1 = %d
    ", result);
    
    	result = sum(5, 1, 2, 3, 4, 5);
    	printf("result2 = %d
    ", result);
    	
    
    	result = sum(6, 3, -1, -2, 4, 99, 100);
    	printf("result3 = %d
    ", result);
    
    	return 0;
    }
    

      

  • 相关阅读:
    JavaScript之数学对象Math
    JavaScript之数据类型转换
    JavaScript之操作符
    JavaScript之基本语句
    JavaScript之基本概念(二)
    JavaScript之基本概念(一)
    使用velero进行kubernetes灾备
    minikube配置CRI-O作为runtime并指定flannel插件
    使用thanos管理Prometheus持久化数据
    linux开启tcp_timestamps和tcp_tw_recycle引发的问题研究
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/11141453.html
Copyright © 2011-2022 走看看