C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/20 02:53:34
C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?
#include
int main(void)
{
char str1[10],str2[10];
char *p1,*p2;
p1=str1;
p2=str2;
printf("请输入原字符串:\n");
gets(p2);
for(; *p2!='\0';p1++,p2++)
*p1=*p2;
*p1='\0';
printf("原字符串是:%s\n 复制的字符串是:%s\n",str2,str1);
return 0;
}
#include
int main(void)
{
char str1[10],str2[10];
char *p1,*p2;
p1=str1;
p2=str2;
printf("请输入原字符串:\n");
gets(p2);
for(; *p2!='\0';p1++,p2++)
*p1=*p2;
*p1='\0';
printf("原字符串是:%s\n 复制的字符串是:%s\n",str2,str1);
return 0;
}
p1++ 指针的自增,自减,就是指针往前或往后移动.
p1=str1; 即 p1 指向str1[0]的位置 p2 同理
p1++ 就是 让指针向前移动 于是 p1 就等于 str1[1] 再++ 就是 str1[2] ... str1[3]
当 p1 指向 str1[0] 的时候 *p1 就是str1[0]的值
所以 *p1=*p2; 就相当于 str1[0] = str2[0]
就是把第二个字符串的第一个字符 赋值到第一个字符串的第一个字符.然后都++
于是 就是赋值第二个字符 然后都++
赋值第三个字符 . 直到结束为止
p1=str1; 即 p1 指向str1[0]的位置 p2 同理
p1++ 就是 让指针向前移动 于是 p1 就等于 str1[1] 再++ 就是 str1[2] ... str1[3]
当 p1 指向 str1[0] 的时候 *p1 就是str1[0]的值
所以 *p1=*p2; 就相当于 str1[0] = str2[0]
就是把第二个字符串的第一个字符 赋值到第一个字符串的第一个字符.然后都++
于是 就是赋值第二个字符 然后都++
赋值第三个字符 . 直到结束为止
C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?
c语言:两个指向字符串的指针,*p1,*p2,请问while(*p1++=*p2++)是什么意思?
p1=p2; \\p1 的指针指向 p2,意味着p2值改变,p1值也改变
p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的 .A.p2=*&p1; B.p2=**p1; C.
C语言,设p1和p2是指向同一个int型一维数组的指针变量,那么k=*p1*(*p2)是什么意思?
C++p1->next=p2;和p2=p1->next;是不是都代表p2指向p1的下一个地址?
关于指针的问题 p,p1,p2都是指针 p=p1; p1=p2;p2=p; 交换了指针指向空间的内容?
C语言中*p1=*p2与p2=p1有什么区别?都是指针型~谢谢啦
c=*p1*(*p2); 期中p1和p2是指针,c 是变量,
C语言指针习题main(){char *p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="e
一道C语言题目,最好有解释,假定P1和P2是已赋值的字符指针,则
关于c语言链表的一个问题h->next=p1,p2->next=p1是什么意思,又有什么作用