小明同学吖 发表于 2022-6-13 00:02:05

求解答

#include<stdio.h>
int main()
{
        char a[]="I love you",b,*p1,*p2;;               
        int i;                                                                          
        p1=a;                                //上面定义了指针p1 and p2为什么赋值的时候不用 *                                          
        p2=b;                                                                               
        for(;*p1!='\0';p1++,p2++)        // ; 前面为什么没有值,p1和p2为什么不用 * ; 为什么要p2++                       
        {
                *p2=*p1;
       }
       *p2='\0';
       printf("a;%s\n",a);
       printf("b: ");
       for(i=0;b!='\0';i++)
       {
               printf("%c",b);
       }
        printf("\n");
}

临时号 发表于 2022-6-13 01:34:45

1.数组就是一个指针,他可以当成指针使用
2.;前面没有值表示无初始值,p1++和p2++表示p1和p2指针向后移动一位

dysow 发表于 2022-6-13 15:06:10

1、定义的时候加*,代表是指针变量,赋值就不用了啊。
2、p1++代表指针移动,当然不能加*了。
页: [1]
查看完整版本: 求解答