请问下,C语言中 我while(*p2)*p1++=*p2++是什么意思?如何运算的?

2025-01-24 09:53:03
推荐回答(2个)
回答1:

c语言指针是一个最大特点,也是理解,学习,运用的难点

++ 这个好理解,自加一
指针 就是指向下一个 地址
* 是取指针所指内存 内容的操作
运算 优先级 比 ++ * < ++

因此 楼主提到 的应该是
当 p2 存的内容 非0 是 执行 操作
p2 里的内容赋值给 p1 里,同时 分别指向 下一个 地址

就是如此

回答2:

当*p2='\0'时相当于while(false),程序结束执行,导致字符串的结束符'\0'没有赋值给*p1,也就是说*p1串没有'\0'结束符,所以错误。