【发布时间】:2015-02-04 08:18:01
【问题描述】:
我遇到了一个问题,它要求比较两个整数并返回一个指向最小整数的指针。这应该很容易,但我认为我的误解是指针地址和内容的混淆。问题如下: (考虑具有此原型的函数): int *smaller(int *ptr l, int *ptr2); (2 分)
(“smaller”函数比较两个整数并返回一个指向最小整数的指针。 填空完成以下程序): #包括 int *smaller (int *ptrl, int *ptr2); 主函数() {诠释一个;诠释 b;诠释* p; scanf(" %d%d ",&a, &b); ------ - 更小(----- , ------ ); 返回 O; } int *smaller ( ------ , -------) { if ( -------- ) 返回 ------ ; 否则返回 ------- ; }
这是我想出的代码:
包括
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;
}
}
它输出最小的整数是输入的第二个数字,不管大小。
【问题讨论】: