微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

1、

#include <stdio.h>

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

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

 

 

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

#include <stdio.h>

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

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐