指针的疑问
#include <stdio.h>#include <bits/stdc++.h>
int main(){
int a,b,c;
int *d,*e,*f,*g;
printf("请输入三个数:");
scanf("%d%d%d",a,b,c);
d=&a;
e=&b;
f=&c;
if(a>b){
g=d;
d=e;
e=g;
}
if(a>c){
g=d;
d=f;
f=g;
}
if(b>c){
g=e;
e=f;
f=g;
}
printf("%d <= %d <= %d\n",*d,*e,*f);
return 0;
}
这个代码目的是输入三个数并按照从小到大的顺序排列 ,但是我运行没有成功...不知道哪里出了问题 求助大佬帮忙改正,如果能帮小弟给出注释讲解一下更是不胜感激{:7_119:} scanf("%d%d%d",a,b,c);
scanf哪里写错了,需要给地址scanf("%d%d%d",&a,&b,&c);
昨天不是给你写过了么? scanf 输入要取址操作符 “&” 注意:a,b,c 不是指针变量
所以要加“&” sunrise085 发表于 2020-4-25 13:08
scanf哪里写错了,需要给地址scanf("%d%d%d",&a,&b,&c);
昨天不是给你写过了么?
大佬好 昨天您帮我改的答案是好使的 这个是我看完自己摸索着写的 但是我还是没太懂其中的具体原理。。 所以来求个注释... liuzhengyuan 发表于 2020-4-25 13:31
注意:a,b,c 不是指针变量
所以要加“&”
噢噢对 忘记了{:10_266:}
页:
[1]