我没有用指针的加减法,就是普通的加减,但是编译器报错 : error C2111: “+”: 指针加法要求整型 *** 作数

我没有用指针的加减法,就是普通的加减,但是编译器报错 : error C2111: “+”: 指针加法要求整型 *** 作数,第1张

cout<<" ( "<<坦闹X-x<<" , "<<X+x<<")"<<endl

这一句里,扒信毁

X是数组名啊,需要元春备素

#include<stdio.h>

void main()

{

int a[3][4],i,j,*p

p = a[0]

for(i = 0 i < 3 i++)

for(j = 0 j < 4 j++)

   改尺 scanf("%d", (p+i*4+j))

for(i=0 i<3 i++)

{

for(j = 0 j < 4 j++)

printf("%4d", (p+i)[j])

printf("\n")

}

}

p+i [j] 本身就是一个值侍简而不是指针老歼裤,你对值加* 自然是不对的。

其实,这只是你没有学习函数重载而引起的问题。帮你修改了下,已经可以使用了,

#include<stdio.h>

int  add(int a,int b)

int sub(int a,int b)

int mul(int a,int b)

int div(int a ,int b)

void result(int(*pf)(int ,int),int a ,int b)//函数指针还是要加上参数数据类型的

void  main()

{

int (*pf)(int ,int)

int i,j

printf("早扒please enter two inters:")

scanf("%d %d",&i,&j)

pf=add

result(pf,i,j)

pf=sub

result(pf,i,j)

pf=mul

result(pf,i,j)

pf=div

result(pf,i,j)

printf("\n")

}

int add(int a,int b)

{

return a+b

}

int sub(int a,int b)

{

return a-b

}

int mul(int 陆没昌a,int b)

{

return a*b

}

int div(int a,int b)

{

return a/b

}

void result(int(*p)(int,int),int a ,int b)

{

int value

value=p(a,b)//这里就可以直接写p()调用了

printf("%d\t",value)

}

满意请察坦采纳


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12310688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存