6个回答
展开全部
我把它写成上面的样子,然后答案如下。
可以发现:
第一句输出和第三句输出以及第四句结果都是相同的,意思就是最后一句printf输出的就是a的地址,只是用十进制的方式输出来的。原因如下:
我们知道,数组的首地址和首个元素的地址是一样的,所以&a[0]输出的就是数组a的首地址,又因为printf("%d",a)和printf("%d",&a[0])结果一致,说明输出的都是数组首地址,另外
printf("%d\n,%d\n,%d\n,%d\n",a);输出的第一个值也是和printf("%d",&a[0])结果一致。
另外,
可以看出,printf("%d\n,%d\n,%d\n,%d\n",a);输出的第一个值也是和printf("%d",&a[0])结果一致,另外三个值都是随机值。
展开全部
这个输出是不确定的。只有第一个是输出a的首地址,其余三个数,都是不确定的值。而且四个整数会直接连到一起,完全分不清谁是谁。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以上代码运行结果是3到4组乱码,无有效数值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有这种用法啊,如果想把数组a里面的值打印出来,printf应该指定下标a[0]…a[3]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相当于
printf("%p",&a);//输出a的地址
printf("%p%p%p");//输出三个随机数
追问
那请问这种应该怎么写运行结果呢 是写 4个未知数 吗
追答
#include<stdio.h>
int main() {
int a[4]= {1,3,5,7},i;
for(i=0; i<4; i++)
printf("%d\n",a[i]);
getchar();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询