C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?#includeint main(void){char str1[10],str2[10];char *p1,*p2;p1=str1;p2=str2;printf("请输入原字符串:\n");gets(p2);for(; *p2!='\0';p1++,p2++)*p1=*p
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/20 03:53:20
![C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?#includeint main(void){char str1[10],str2[10];char *p1,*p2;p1=str1;p2=str2;printf(](/uploads/image/z/5283521-17-1.jpg?t=C%E8%AF%AD%E8%A8%80%E9%97%AE%E9%A2%98%3A%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81+p1%2B%2B%2Cp2%2B%2B%E6%98%AF%E4%BB%A3%E8%A1%A8%E4%BB%80%E4%B9%88%3A%2Ap1%3D%2Ap2%2C%E8%AF%B7%E8%AF%A6%E7%BB%86%E8%A7%A3%E8%AF%B4%E4%B8%8B%E6%8C%87%E9%92%88%E7%9A%84%E7%94%A8%E6%B3%95%3F%23includeint+main%28void%29%7Bchar+str1%5B10%5D%2Cstr2%5B10%5D%3Bchar+%2Ap1%2C%2Ap2%3Bp1%3Dstr1%3Bp2%3Dstr2%3Bprintf%28%22%E8%AF%B7%E8%BE%93%E5%85%A5%E5%8E%9F%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%9A%5Cn%22%29%3Bgets%28p2%29%3Bfor%28%3B+%2Ap2%21%3D%27%5C0%27%3Bp1%2B%2B%2Cp2%2B%2B%29%2Ap1%3D%2Ap)
C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?#includeint main(void){char str1[10],str2[10];char *p1,*p2;p1=str1;p2=str2;printf("请输入原字符串:\n");gets(p2);for(; *p2!='\0';p1++,p2++)*p1=*p
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;
}
C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?#includeint main(void){char str1[10],str2[10];char *p1,*p2;p1=str1;p2=str2;printf("请输入原字符串:\n");gets(p2);for(; *p2!='\0';p1++,p2++)*p1=*p
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]
就是把第二个字符串的第一个字符 赋值到第一个字符串的第一个字符.然后都++
于是 就是赋值第二个字符 然后都++
赋值第三个字符 . 直到结束为止