请教一个关于C语言的基础问题:
while循环条件表达式可以是负值吗
可以,bool包括负值
当然可以,这就相当于 int 转 bool,这种转化的规则就是,只有 0 的时候识别为 false,其他都是 true。所以,while (某个负数) 就相当于 while(true)。
非零即为真,零才是假!
可以的,作者自己写代码调试一下
int line = 1;
while (line < 300) {
printf("写代码%d行\n", line);
line++;
}
printf("get offer");
C语言中实现循环的方式
回答:在C语言中,while循环的条件表达式中可以包含负值。例如:while(-1) {...}是合法的。条件表达式为真只要结果为非零值,而不是必须为正数。因此,条件表达式为负值时,也可以进入while循环。以下是实现例子:
#include<stdio.h>
int main(){
int num = -2;
while(num){
printf("%d\n", num);
num++;
if(num > 2){
break;
}
}
return 0;
}
输出结果为:
-2
-1
0
1
2
当num=-2时,while循环进入,输出-2,num加1变成-1,输出-1,num继续加1变成0,输出0。此时num仍然不为0,循环继续执行,num加1变成1,输出1。num加1变成2,输出2。当num变成3时,break退出while循环。