C语言编写在主函数main()中从键盘读取两个整数,通过调用func()函数来求出这两个整数的和与积,在主函数main()中输出这两个整数的和与积,要求func()子函数返回值类型为void。
时间: 2024-02-13 15:00:19 浏览: 173
好的,我可以帮你解决这个问题。以下是代码示例:
```c
#include <stdio.h>
void func(int a, int b, int *sum, int *product) {
*sum = a + b;
*product = a * b;
}
int main() {
int a, b, sum, product;
printf("请输入两个整数:\n");
scanf("%d%d", &a, &b);
func(a, b, &sum, &product);
printf("它们的和为:%d\n", sum);
printf("它们的积为:%d\n", product);
return 0;
}
```
在这个示例中,我们定义了一个名为`func()`的子函数,它有四个参数:两个整数`a`和`b`,以及两个指向整数的指针`sum`和`product`。在`func()`函数中,我们将`sum`指针所指向的地址的值设置为`a + b`,将`product`指针所指向的地址的值设置为`a * b`。
在`main()`函数中,我们通过调用`func()`函数来计算两个整数的和与积。我们使用`scanf()`函数从键盘读取两个整数,并将它们作为参数传递给`func()`函数。然后,我们使用`printf()`函数在屏幕上输出计算结果。
需要注意的是,我们在调用`func()`函数时,将`sum`和`product`变量的地址作为参数传递给了函数。这是因为`func()`函数需要修改这两个变量的值,而在C语言中,函数的参数传递是按值传递的,所以如果我们直接将`sum`和`product`变量作为参数传递给`func()`函数,那么在函数内部对它们的修改不会影响到函数外部的变量。因此,我们使用指针来传递变量的地址,使得函数能够修改它们的值。
阅读全文