一个C程序,创建两个10和20的变量,并用指针打印它们的和 #包括 整数和(整数*a,整数*b) { int s=0; s=*a=*b; 返回s; } int main() { 整数num1=10,num2=20,*ptr1,*ptr2,和=0; ptr1=&num1; ptr2=&num2; 总和=总和(*ptr1,*ptr2); printf(“两个变量之和为%d”,总和); 返回0; }
//它显示“main.c:18:8:error:调用的对象'sum'不是函数或函数指针”一个C程序,创建两个10和20的变量,并用指针打印它们的和 #包括 整数和(整数*a,整数*b) { int s=0; s=*a=*b; 返回s; } int main() { 整数num1=10,num2=20,*ptr1,*ptr2,和=0; ptr1=&num1; ptr2=&num2; 总和=总和(*ptr1,*ptr2); printf(“两个变量之和为%d”,总和); 返回0; },c,C,//它显示“main.c:18:8:error:调用的对象'sum'不是函数或函数指针” //如何解决此错误局部变量和函数不能使用相同的名称。你叫他们两个sum。编译器对您想要哪一个感到困惑。更改其中一个的名称。局部变量和函数不能使用相同的名称。你叫他们两个sum。编译器对您想要哪一个感到困惑。更改其中一个的名称。您会收到错误,因为您不能使用名称“sum”两次 此外,您的代码还包含另外两个问题: 不能只声明没有类型的指针,因为它们的长度取决于引用的对象 您的函数需要一个指针而不是地址,但您给它
//如何解决此错误局部变量和函数不能使用相同的名称。你叫他们两个
sum
。编译器对您想要哪一个感到困惑。更改其中一个的名称。局部变量和函数不能使用相同的名称。你叫他们两个sum
。编译器对您想要哪一个感到困惑。更改其中一个的名称。您会收到错误,因为您不能使用名称“sum”两次
此外,您的代码还包含另外两个问题:
- 不能只声明没有类型的指针,因为它们的长度取决于引用的对象
- 您的函数需要一个指针而不是地址,但您给它的是指针的值
顺便说一句,您可以在不声明太多额外内容的情况下解决问题,即使您想使用额外的函数并传递指针:)您会遇到错误,因为您不能使用“sum”这个名称两次 此外,您的代码还包含另外两个问题:
- 不能只声明没有类型的指针,因为它们的长度取决于引用的对象
- 您的函数需要一个指针而不是地址,但您给它的是指针的值
顺便说一句,您可以在不声明太多额外内容的情况下解决问题,即使您想使用额外的函数并传递指针:)只需更改函数的名称。
s=*a=*b代码>->s=*a+*b只需更改函数名。s=*a=*b代码>->s=*a+*b代码>
#include<stdio.h>
int sum(int*a,int*b)
{
int s=0;
s=*a=*b;
return s ;
}
int main()
{
int num1=10 , num2=20 ,*ptr1 ,*ptr2 ,sum=0 ;
ptr1=&num1;
ptr2=&num2;
sum = sum(*ptr1,*ptr2);
printf("sum of two variables is %d",sum);
return 0;
}