用指针实现输入3个整数,找出最大的数输出

如题所述

#include"stdio.h"

int main(int argc,char*argv[])

{

float a,b,c,*pa=&a,*pb=&b,*pc=&c,max;

scanf("%f,%f,%f",pa,pb,pc);

if(*pa>*pb)

{

max=*pa;

printf("if1%f\n",max);

}

else

{

max=*pb;

printf("else\n");

}

if(*pc>max)

{

max=*pc;

printf("if2\n");

}

printf("max=%f\n",max);

return 0;

}

扩展资料:

printf()用法

printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。

函数原型:

int printf(const char*format,...);

返回值:

正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。

调用格式:

printf()函数的调用格式为:printf("格式化字符串",输出表列)。

格式化字符串包含三种对象,分别为:

(1)字符串常量;

(2)格式控制字符串;

(3)转义字符。

字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-22

#include <stdio.h>

int main(void)

{

int *p1,*p2,*p3;

int i,j,k,temp;

printf("input date,use space between date \n"); 

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

p1=&i;p2=&j;p3=&k;

if(*p1>*p2)

{temp=*p1;*p1=*p2;*p2=temp;}

if(*p1>*p3)

{temp=*p1;*p1=*p3;*p3=temp;}

if(*p2>*p3)

{temp=*p2;*p2=*p3;*p3=temp;}

printf("%d",*p3); return 0;

}

扩展资料:

在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。

作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。

参考资料:

百度百科-指针

本回答被网友采纳
第2个回答  2015-05-21

下面的程序先输入3个整数,同时定义一个指针变量,指针变量指向数组的首地址,然后用指针访问数组元素的方式,找出最大的整数,最后输出。

#include<stdio.h>
#include<stdlib.h>

int main()
{
int num[3];
int i;
int *p;
int max_num;
for(i=0;i<3;i++)
{
printf("please input %d number:\n",i+1);
scanf("%d",&num[i]);
}
p=num;
max_num=*p;
p++;
if(*p>max_num)
{
max_num=*p;
}
p++;
if(*p>max_num)
{
max_num=*p;
}
printf("the max number is:%d\n",max_num);

return 0;
}

运行结果如下,自己跑一下程序就能看到了

本回答被网友采纳
相似回答