用c语言Write a program to find the square of a number using both the call by value and call by reference (Pointers).
时间: 2023-11-28 21:48:34 浏览: 174
以下是使用C语言编写的程序,可以使用函数的call by value和call by reference两种方式来计算一个数的平方:
```c
#include <stdio.h>
// Call by value function to find square of a number
int squareByValue(int num) {
return num * num;
}
// Call by reference function to find square of a number
void squareByReference(int *numPtr) {
*numPtr = (*numPtr) * (*numPtr);
}
int main() {
int num = 5;
// Call by value example
int square1 = squareByValue(num);
printf("Square of %d is %d (Call by value)\n", num, square1);
// Call by reference example
squareByReference(&num);
printf("Square of %d is %d (Call by reference)\n", num, num);
return 0;
}
```
该程序定义了两个函数,一个是使用call by value方式计算平方的函数,另一个是使用call by reference方式计算平方的函数。在主函数中,我们首先定义一个整数num,并将其设置为5。然后,我们使用call by value方式调用squareByValue函数来计算num的平方,并将结果存储在square1变量中。接下来,我们使用call by reference方式调用squareByReference函数来计算num的平方,这里我们传递了num的指针作为参数。最后,我们打印出计算结果。
运行该程序,输出结果为:
```
Square of 5 is 25 (Call by value)
Square of 25 is 25 (Call by reference)
```
从输出结果可以看出,两种方式都可以正确地计算num的平方。使用call by value方式时,我们将num的值作为参数传递给函数,并在函数中进行计算。使用call by reference方式时,我们将num的地址作为参数传递给函数,并在函数中使用指针来访问num的值并进行计算。
阅读全文