printf("arry[%d]=%#X\t", i, arry[i])
-------------------------------------
输出结果:
%#x
C语言中内存为分三类:栈区、堆区、静态数据区。
局部变量在栈上分配,函数调用前的栈指针,要和函数返回后的栈指针一样,否则就会出错。
void test(void)
{
char i,a[10]
printf("0x%x", &i)
printf("0x%x", a)
printf("0x%x", a+1)
printf("0x%x", a+2)
printf("0x%x", a+3)
}
扩展资料
c语言数组在内存分配
示例:
#include<stdio.h>
int main()
{
int a[4] = {11,12,13,14}
int b[4] = {21,22,23,24}
int *pa = &a
int i = 0
while(i<8)
{
i++
printf("now *p value = %d and",*pa)
printf("p addr value = %d \n",pa)
pa++
}
return 0
}
屏幕输出靠自己设计,如果表示16进制数FA4为FA4H,可以写a=0xFA4printf("%xH\n",a)如果想显示成0xfa4,则可以写printf("0x%x\n",a)
如果只想显示fa4,printf("%x\n",a)
同理显示8进制数时候,计算机不会自动给你在数前面加东西的,也要自己程序设计才成。