11问答网
所有问题
c语言中*p++=*s++;是什么意思?
这条语句是怎么运行的?
解释清楚一些,呵呵
举报该问题
推荐答案 2011-11-03
*p++=*s++;
=这个在此是赋值号,
赋值号左边为变量,右边为表达式
我们先分解右边表达式
*s++
指针*s和一元运算符++
指针s会执行++,向右移一个单位,也就是s的下一个元素(例:若s为char型指针,就向右移8位,若为float型就移32位)
但是*s++的一元运算符++在*s右边,因此*s++这个表达式的值就为*s
可以这么解释
*p++=*s++这个表达式的功能就是将*s的值赋值给*p,然后各自指向自己的下一个元素
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/8842SMqq2.html
其他回答
第1个回答 2011-11-03
就是把指针s所指向空间的内容赋值给指针p所指向的内容
例如:有两个数组a[10]和b[10]
加入a数组中存有内容,而b数组为空
s=a;//把数组a的首地址传递给p指针
p=b;//把数组b的首地址传递给s指针
while(p<=&a[10]){ p所指向地址的值小于a[10]的地址,就循环
*p++=*s++;
}这样就把a数组中的内容复制给b了
第2个回答 2011-11-03
p, s应该都是指针
*p就是指针下的数据
先把s地址下的数据赋值给p地址下的数据 即:*p = *s
然后在把两个指针指向下一个位置 即:p++,s++,
偏移的地址为*p的类型所占用的字节数
第3个回答 推荐于2018-04-05
将指针*c的值赋给*p,然后p,s的地址前进一位。
例如 int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p=&a[1],s=&a[5];
则执行*p++=*s++后,a[1]=6,*p=a[2]=3,*s=a[6]=7
本回答被提问者和网友采纳
第4个回答 2011-11-03
*p=*s;
p++;
s++;
其实就是字符串复制
谢谢采纳
相似回答
c语言
*p++
,*(
s++
)
答:
出现以上两种提示后,理论上就意味着你得换IE11了。可事实上并非如此,用过这款浏览器
的
用户都知道,在第一幅图的情况下,点击“在Microsoft Edge中继续进行”后,也能正常打开网页;而出现第二种情况后,只能手动通过点击Edge浏览器右上角的“…”,在菜单中选择“使用Internet Explorer打开”才可以。...
大家正在搜
i++在c语言中是什么意思
c语言中?是什么意思
c语言中\0是什么意思
c语言中!a是什么意思
a&b在c语言中是什么意思
c语言中%x是什么意思
%if在c语言中是什么意思
c语言中%o什么意思
c语言中d%是什意思
相关问题
c语言 *p++,*(s++)
c语言中,*p++是什么意思
c语言*p++是什么意思?
c语言中*p++和(*p)++有什么区别?
C语言中*p=s[i++]和s[i++]=*p的区别是?分别...
C语言中,a=*p++什么意思?
C语言中*p++ = *q++ 怎么理解?
c语言中++*p是什么含义?