#include<stdio.h>
void rela(intp,intq);
void main()
{ int p1,p2,a,b;
scanf("%d%d",&a,&b);
p1=&a;p2=&b;
void rela(intp1,intp2);
}
void rela(intp1,intp2)
{
if(*p1<*p2)
printf("%d<%d\n",*p1,*p2);
else if(*p1==*p2)
printf("%d=%d\n",*p1,*p2);
else printf("%d>%d\n",*p1,*p2);
}
点运行后输入数字,但是没有结果。
修改处见注释,供参考:
#include<stdio.h>
void rela(int* p,int* q);
void main()
{
int *p1,*p2,a,b;
scanf("%d%d",&a,&b);
p1=&a;p2=&b;
rela(p1,p2); //修改
//void rela(intp1,intp2);
}
void rela(int *p1,int *p2)
{
if(*p1<*p2)
printf("%d<%d\n",*p1,*p2);
else if(*p1==*p2)
printf("%d=%d\n",*p1,*p2);
else
printf("%d>%d\n",*p1,*p2);
}
改正在代码注释中
#include<stdio.h>
void rela(intp, intq);
void main()
{
int *p1, *p2, a, b; //将p1、p2定义为指针要加*
scanf("%d %d", &a, &b);
p1 = &a; p2 = &b;
rela(p1, p2); //调用函数只需写函数名+参数
}
void rela(int* p1, int* p2) //传入的是变量地址,函数参数定义为指针类型
{
if (*p1 < *p2)
printf("%d<%d\n", *p1, *p2);
else if (*p1 == *p2)
printf("%d=%d\n", *p1, *p2);
else
printf("%d>%d\n", *p1, *p2);
}