编程小白,求指点(实现字符串的拷贝)
#include
#include
int main()
{
int i;
char p,*q,s1[30],s2[30];
p=s1,q=s2;
printf("输入一个字符串:");
scanf("%s",&s1);
for(i=0;i<100;i++)
{
*(q+i)=(p+i);//实现拷贝
if(*(p+i)=='\0')break;
}
for(i=0;*(q+i)!='\0';i++)
{
printf("%s",*(q+i));
}
return 0;
system("pause");
}
数组可以赋值给指针变量,但不能直接赋值给字符实体p=s1
int main()
{
int i;
char *p, *q, s1[30] = { 0 }, s2[30] = {0};
p = s1, q = s2;
printf("输入一个字符串:");
scanf("%s", &s1);
for (i = 0; i < 30; i++)
{
*(q + i) = *(p + i);//实现拷贝
if (*(p + i) == '\0')break;
}
printf("%s\n", q);
return 0;
}
想知道p=s1 的意义何在。