我遇到一个问题,就是要求比较两个整数并返回指向最小整数的指针。这应该很容易,但我认为我的误解是指针地址和内容的混淆。问题如下: (考虑使用此原型的函数): int * smaller(int * ptr l,int * ptr2); (2分)
("较小的"函数比较两个整数并返回指向最小整数的指针。 填写空白以完成以下程序): #包括 int * small(int * ptrl,int * ptr2); int main() {int a; int b; int * p; scanf("%d%d",& a,& b); ----------较小(------,------); 返回O; } int *较小(------,-------) {if(-------)return ------; 否则返回-------; }
以下是我提出的代码:
int *smaller(int *ptr1, int *ptr2);
int main()
{
int a; int b; int * p;
printf("Enter the first digit:");
scanf("%d", &a);
printf("Enter the seconddigit:");
scanf("%d", &b);
p = smaller(&a,&b);
printf("The smaller digit is %d\n\n", *p);
return 0;
}
int *smaller( int *ptr1, int *ptr2)
{
if (ptr1 < ptr2)
{
return ptr1;
}
else
{
return ptr2;
}
}
输出最小整数是输入的第二个数字,无论大小如何。
答案 0 :(得分:0)
我在发布后暂时解决了问题,我不得不在if和else语句中加上*(内容)符号。