c语言中利用函数同时返回两个数的和与差

c语言中利用函数同时返回两个数的和与差。

1、

复制代码
#include <stdio.h>

void sum_diff(int n1, int n2, int sum, int diff)
{
    sum = n1 + n2;
    diff = (n1 > n2) ? (n1 - n2) : (n2 - n1);
}

int main(void)
{
    int na, nb, wa = 0, sa = 0;
    
    puts("please input two integers.");
    printf("na  = "); scanf("%d", &na);
    printf("nb  = "); scanf("%d", &nb);
    
    sum_diff(na, nb, wa, sa);  // 实参向形参的值传递过程为单向传递,  在调用函数中修改形参,不能改变实参。 ; 函数返回调用源的返回值只能有一个。
    
    printf("wa:  %d;   sa:  %d", wa, sa);
    
    return 0;
}
复制代码

 

 

2、利用指针作为函数的参数。

复制代码
#include <stdio.h>

int sum_dif(int n1, int n2, int *sum, int *dif)   //生成的指针sum、和dif分别为指向wa和sa的指针,*sum和*dif分别相当于wa和sa的别名,对别名进行修改,相当于对wa和sa进行修改。
{
    *sum = n1 + n2;
    *dif = (n1 > n2) ? (n1 - n2) : (n2 - n1);
}

int main(void)
{
    int na, nb, wa = 0, sa = 0;
    
    puts("please input two integers.");
    printf("na =  "); scanf("%d", &na);
    printf("nb =  "); scanf("%d", &nb);
    
    sum_dif(na, nb, &wa, &sa);  //指针作为实参传递给形参)
    
    printf("\nwa:  %d;  sa:   %d\n", wa, sa);
    
    return 0;        
}
复制代码

 

posted @   小鲨鱼2018  阅读(1037)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示