第一个程序是用地址法来输出各元素的,第二个程序是指针法,第二种方法的好处是,当指针改变之后,它所指向的数组元素也随之发生改变,之后可以用指针重新指向输出或者用数组直接输出即可
#include <stdio.h>
int main (void)
{
char a[]="I am a student.",b[20];
int i;
for(i=0;*(a+i)!='\0';i++)//通过地址法来算出各元素的值
{
*(b+i)=*(a+i);//相当于a[i]=b[i],也可以用纯数组来写
}
*(b+i)='\0';
printf("string a is:%s\n",a);
printf("string b is:");
for(i=0;*(b+i)!='\0';i++)
{
printf("%c",b[i]);
}
printf("\n");
return 0;
}
#include<stdio.h>
int main(void)
{
char a[20]="I am a girl.",b[20];
char *p,*q;
p=a;
q=b;
for(;*p!='\0';p++,q++)//p现在指向a
{
*q=*p;
}
*q='\0';
p=a;
q=b;
printf("a数组:%s\n",p);
printf("b数组:%s\n",q);
return 0;
}
这个地方
p=a;
q=b;
printf(“a数组:%s\n”,p);
printf(“b数组:%s\n”,q);
也可以写成
printf(“a数组:%s\n”,a);
printf(“b数组:%s\n”,b);
即可,