怎样利用指针对数组赋值?
在程序中定义一个带有10个元素的数组,当K1被按下之后,利用循环语句赋值0~9,再将此数组的首地址传递到另一个函数中将其10个元素全部从串口中输出。
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P3^2;
void uart(void)
{
SCON=0x40;
PCON=0;
REN=1;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TI=1;
TR1=1;
}
void delayms(uint x)
{
uint i;
while(x--)
{
for(i=112;i>0;i--)
{;}
}
}
uint p_array(uint array[10])
{
uint i;
uint *p;
for(i=0;i<10;i++)
{
p=&array[i];
*p=i;
}
return (array[10]);
}
void display(uint *p)
{
uint j;
printf("array[10]={");
for(j=0;j<10;j++)
{
printf("%d ",*(p+j));
}
printf("}\n");
}
void main(void)
{
uint *p,array[10];
uart();
while(1)
{
printf("please press K1 to display the array!");
while(K1!=0);
delayms(500);
if(K1==0)
{
while(K1==0);
p=&array[0];
p_array(array);
p=&array[0];
display(p);
}
}
}
以上是小女编写的程序,由于刚接触C,对于指针和数组更是生疏,还望各位大侠能给指点出程序中的错误,谢谢了!!!
[解决办法]
if (K1 == 0)都没有进入,是不是按的时间太短了?
怎么利用指针对数组赋值
怎样利用指针对数组赋值?在程序中定义一个带有10个元素的数组,当K1被按下之后,利用循环语句赋值0~9,再将此
