为什么在main函数中的a[i]可以输出值来?返回值不是i吗?又不是返回数组,为什么a[i]可以输出值来

例5:编程实现从键盘输入一个正整数,把它变成二进制、八进制#include”stdio.h”#defineN5intkk(intp[],intx){inti=0;whil... 例5:编程实现从键盘输入一个正整数,把它变成二进制、八进制
#include”stdio.h”
#define N 5
int kk(int p[],int x)
{int i=0;
while(x>0)
{p[i++]=x%2;/* 变八进制时把x%2改为x%8*/
x/=2; /* 变八进制时把x/2改为x/8*/
}
return i;
}
main()
{int a[20],x,i,y;
scanf(“%d”,&x);
y=kk(a,x);
for(i=y-1;i>=0;i--)
printf(“%3d”,a[i]);

}
展开
 我来答
陆俊贤123
2017-08-19 · TA获得超过161个赞
知道小有建树答主
回答量:262
采纳率:78%
帮助的人:98.4万
展开全部
因为你的printf()语句输出的是a[i],%3d表示的是输出的数字占3个字符位,都好后面的是需要输出的数字,如果你把a[i]换成i就是输出i
追问
但是a[i]并没有被赋值,为什么a[i]可以输出数据来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式