
3个回答
展开全部
很高兴和你一起讨论和学习C/C++
while(表达式)
当表达式的结果为0是就停止循环,只要表达式的值“不为0” 就一直循环。
while(-1)或while(1) 都是死循环
字符串常量或变量 结尾都有自动添加一个空字符'\0',其ASCII码值 就0
char p1[]="abcde'; //这个数据组有5个可见字符,末尾还有个不可见的空字符'\0'(即0)
char p2[]="1234567"//同样结尾也有个不可见的字符'\0'(即0)
while(*p2++=*p1++); 其中++运算符优先级大于*(取值运算),
所以等效于while(*(p2++)=*(p1++)) ,间接寻址,当指针p1 指向‘\0'时 while 循环语句就停止了。
不详之处,欢迎继续讨论。
展开全部
赋值运算符返回=右侧表达式的值,当*p1的值为0时,循环终止
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注意while括号里是=,不是==。循环中一值在复制p1[]到p2[]。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询