for(;*p1!='\0';p1++,p2++)转换成while
时间: 2023-11-28 15:51:02 浏览: 20
可以将这段代码转换为:
```
while (*p1 != '\0') {
// 循环体
p1++;
p2++;
}
```
其中 `for(;*p1!='\0';p1++,p2++)` 表示循环的初始条件为空,循环条件为 `*p1!='\0'`,循环体内的语句为 `p1++,p2++`,即 `p1` 和 `p2` 同时向后移动一位。将其转换为 `while` 循环后,需要先将循环条件放在 `while` 的圆括号中,然后将循环体内的语句放在 `while` 的花括号中,并在循环体内将 `p1++` 和 `p2++` 也放在花括号中。
相关问题
for(;*p1!='\0';p1++,p2++)用while改写
可以将这个for循环用while循环改写为:
```
while (*p1 != '\0') {
// 循环体
p1++;
p2++;
}
```
其中,循环体内的代码不变,只需要将for循环的控制条件改为while循环的控制条件即可。
p1+=+w; ++++p2+=+w+++m+-+1; ++++while+(p1+<+p2)+{ ++++++++s+=+*p1++; ++++++++*p1+=+*p2--;
这段代码是C语言中的表达式和循环语句的组合。让我来解释一下每一行的含义:
1. `p1 += w;` 表示将变量 `p1` 的值加上 `w` 的值,并将结果赋给 `p1`。
2. `p2 += w++ - 1;` 表示将变量 `p2` 的值加上 `w++ - 1` 的值,并将结果赋给 `p2`。其中 `w++` 表示先使用 `w` 的值,然后再将 `w` 的值加 1。
3. `while (p1 < p2) { ... }` 是一个循环语句,表示当 `p1` 的值小于 `p2` 的值时执行循环体内的代码。
4. `s += *p1++;` 表示将变量 `s` 的值加上指针 `p1` 所指向的值,并将结果赋给 `s`。然后将指针 `p1` 向后移动一个位置。
5. `*p1 += *p2--;` 表示将指针 `p1` 所指向的值加上指针 `p2` 所指向的值,并将结果赋给指针 `p1` 所指向的位置。然后将指针 `p2` 向前移动一个位置。