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] 举报,一经查实,本站将立刻删除。