while语句求助
各位大佬好;请问这句 while (*target++ != '\0') 该怎么理解? "target"是字符串吗?如果是的话可以这样理解:
读取target的每个字符,直到读取到空字符"\0"为止。
(应该是对的) 蔚蓝水晶 发表于 2022-5-14 09:45
"target"是字符串吗?如果是的话可以这样理解:
读取target的每个字符,直到读取到空字符"\0"为止。
(应该 ...
target是指针,一道小甲鱼的作业题,难理解的地方就在*target++这里 本帖最后由 jackz007 于 2022-5-14 10:50 编辑
这一句
while (*target++ != '\0') ;
先判断 * target 是否等于 '\0',然后,无论是否相等都执行 target ++,如果不相等就继续循环,否则,就结束循环。
所以,上述语句和下面这些语句等效
for(;;) {
target ++ ;
if(* (target - 1) == '\0') break ;
}
循环结束的时候,target 指向字符串末尾 '\0' 之后的下一个字符,而不是 '\0' 字符本身。 如果target是一个字符串,那么target++就是依次访问字符串每一个字符,\0是在字符串末尾的 明白了各位。*p++ = *p ;p + 1 tarrget应该是个字符串,字符串即指针,’\0‘是字符串的结束符,如我定义一个字符串char a ="123",实际计算机是char a ="123\0",遇到’\0‘就表示该字符串结束了。所以,while函数的作用是,target字符串从0开始,一直++,当元素不是结束字符时,进行循环 jiuyaoshifang 发表于 2022-5-14 13:31
tarrget应该是个字符串,字符串即指针,’\0‘是字符串的结束符,如我定义一个字符串char a ="123",实 ...
我去网上查了一下,好像........是这么回事(开玩笑) 大家好
页:
[1]