#include<stdio.h>
int b[100];
int main()
{
int a,j=0,i;
while(1)
{
scanf("%d",&a);
if(a==0)
break;
b[j]=a;
j++;
}
for(i=j-1;i>=0;i--)
{
printf("%d",&b[i]);
}
return 0;
}
printf("%d",&b[i]);
17行 应该去掉取地址符 & :
printf("%d ",b[i]);
原因:你写&b[i]是取地址,输出的是 b[i] 的地址,而不是 b[i] 的值
你可以看看输出4223064 4223060 4223056 这都是 b[i] 的地址
第17行输出的是b[i],不是&b[i],去掉取地址符号
供参考:
#include <stdio.h>
int main()
{
int a[100], * p = a;
while (scanf("%d", p) && *p) p++;
while (--p >= a) printf("%d ", *p);
return 0;
}