- 时间限制: 1 Sec 内存限制: 128 MB
- 题目描述
输入三个整数a,b,c;按照从小到大次序输出。
- 样例输入
1 2 3
3 2 1
6 6 6
100 10 1
- 样例输出
1 2 3
1 2 3
6 6 6
1 10 100
- 【Solution】
#include <stdio.h>
int swap(int *x,int *y);
int main(int argc, char *argv[])
{
int a,b,c,*p1,*p2,*p3;
scanf("%d %d %d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(*p1>*p2)
swap(p1,p2);
if(*p1>*p3)
swap(p1,p3);
if(*p2>*p3)
swap(p2,p3);
printf("%d %d %d\n",*p1,*p2,*p3);
return 0;
}
int swap(int *x,int *y){
int z;
z=*x;
*x=*y;
*y=z;
}
- 【error】
#include <stdio.h>
int swap(int x,int y);
int main(int argc, char *argv[])
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>b)
swap(a,b);
if(b>c)
swap(b,c);
if(a>c)
swap(a,c);
printf("%d %d %d\n",a,b,c);
return 0;
}
int swap(int x,int y){
int z;
z=x;
x=y;
y=z;
}
- 怎样引用指针变量?
(1)给指针变量赋值。如:
p=&a; //把a的地址赋给指针变量p
指针变量p的值是变量a的地址,p指向a。 (2)引用指针变量指向的变量 如果已执行"p=&a;",即指针变量p指向了整型变量a。则
printf("%d",*p);
其作用是以整数形式输出指针变量p所指向的变量的值,即变量a的值。
如果有以下赋值语句:*p=1
;
表示将整数1赋给p当前所指向的变量,如果p指向变量a,则相当于把1赋给a,即"a=1;"。
(3)引用指针变量的值。如:
printf("%o",p);
作用是以八进制数形式输出指针变量p的值,如果p指向了a,就是输出了a的地址,即&a。
& 取地址运算符
* 指针运算符(或称”间接访问“运算符)