两个指针P1,P2 为什么scanf("%s\n,s")指的是P2而不是P1啊啊 .
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 01:08:25
两个指针P1,P2 为什么scanf("%s\n,s")指的是P2而不是P1啊啊 .
p1=p2=s;
将字符数组的首地址赋值给p1和p2,因此循环开始前p1和p2的值一样,都是S的地址.
在循环中,判断p1指向的地址中是否为空格,
如果是空格:
则p1++,即指向后面一个字符.
如果不是:
则将p1指向的字符复制到p2指向的地址,然后p1和p2都加1,即均指向后一个字符.
循环过程就是不断扫描字符,p1作为源字符指针,p2作为目标字符指针,过滤掉空格,重新排列,直到p1指向结束符为止.
所以循环结束时,p1和p2不再指向S.p1和p2指向哪里已经不重要,因为去掉空格的任务已完成.
S中的字符已重新排列,也就是形成了新的字符串,即不带空格的字符串.
将字符数组的首地址赋值给p1和p2,因此循环开始前p1和p2的值一样,都是S的地址.
在循环中,判断p1指向的地址中是否为空格,
如果是空格:
则p1++,即指向后面一个字符.
如果不是:
则将p1指向的字符复制到p2指向的地址,然后p1和p2都加1,即均指向后一个字符.
循环过程就是不断扫描字符,p1作为源字符指针,p2作为目标字符指针,过滤掉空格,重新排列,直到p1指向结束符为止.
所以循环结束时,p1和p2不再指向S.p1和p2指向哪里已经不重要,因为去掉空格的任务已完成.
S中的字符已重新排列,也就是形成了新的字符串,即不带空格的字符串.
c语言:两个指向字符串的指针,*p1,*p2,请问while(*p1++=*p2++)是什么意思?
p1=p2; \\p1 的指针指向 p2,意味着p2值改变,p1值也改变
若p1,p2是两个大于2的质数,证明p1+p2是一个合数?
p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的 .A.p2=*&p1; B.p2=**p1; C.
#include#includevoid fun (char *w,int n){char s,*p1,*p2;p1=w
c=*p1*(*p2); 期中p1和p2是指针,c 是变量,
有指针变量p1,p2,p1="abc";p2="abc".strcat(p1,p2)如何理解
关于指针的问题 p,p1,p2都是指针 p=p1; p1=p2;p2=p; 交换了指针指向空间的内容?
既然(指针变量)*p=100是错的,那为什么*P1=*P2就可以呢?
若有说明:int *p1,*p2,m=5,n: 以下均是正确 赋值语句的选项是( ) A p1=&m:p2=&p1: B
指针的逻辑运算例题 inta[5]={1,3,5,7,9},*p1=a,*p2=0;那么 p1,p2,为真,p2,p1&
C语言问题:下面的代码 p1++,p2++是代表什么:*p1=*p2,请详细解说下指针的用法?