While 循环参数内的逗号

标签 c while-loop

正在为计算机科学期末学习。

这个问题我真的想不通

这个 C 程序的输出是什么?

#include<stdio.h>
int main()
{
    int i = 0;
    while(i < 4, 5)
    {
        printf("Loop ");
        i++;
    }
    return 0;
}

A.无限循环

B. 循环循环循环循环循环

C. 循环循环循环循环

D. 什么都不打印

执行后,它会无限次打印循环。为什么会这样?为什么 While 循环的参数中有一个逗号?它有什么作用?

最佳答案

会一直循环下去,因为while循环的条件i < 4, 5评估为 5 ,它不同于 0,因此被认为是 trueC .

要了解更多信息,请阅读 comma operator : https://en.wikipedia.org/wiki/Comma_operator

简而言之,当使用逗号运算符时,它的所有操作数都会被求值,但整个表达式采用最后一个的值。例如:

int val = (1, 2, 3);
printf("%d\n", val);

将打印 3 .

关于While 循环参数内的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54851766/

相关文章:

java - 如何知道已经建立的连接的状态?

linux - bash:一次从字符串中读取一个字符

c - 从 3 个不同的文件中获取数据并将其打印为 C 语言的输出?

python - 寻求在 Python 中设计 While 循环的帮助

C - 通过引用将单个结构从数组传递到函数

c - 如何忽略c中以 '#'开头的输入字符串?

c - 使用 Cuda-C 查找表

mysql - 在 sp mysql 的 while 循环中插入 select 语句

C++ while 循环问题

c - 记录在 C 中没有更新,因为结构指针没有更新