在C循环中用逗号分隔表达式

前端之家收集整理的这篇文章主要介绍了在C循环中用逗号分隔表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从来没有看到过这样一个while语句.
while(printf("> "),fgets(str,100,stdin),!feof(stdin)) {
..
..
}

我在线阅读,从while循环出来的条件是最右边的一个[!feof(stdin)].
那么,上面while语句的用法是什么呢?

while(!feof(stdin))
{
       printf("> ");
       fgets(str,stdin);
       ...
       ...
}

此外,while语句采用一个表达式,1,1是C中的有效表达式?

解决方法

给出的两个循环的含义不一样.通过以这种方式使用逗号运算符,作者能够指定每次迭代应执行的代码,即使循环本身也不会被输入.它更像一个do … while()循环,或者类似于以下内容
printf("> ");
 fgets(str,stdin);
 while(!feof(stdin)) {
    ..
    ..

    printf("> ");
    fgets(str,stdin);
 }
原文链接:https://www.f2er.com/c/114133.html

猜你在找的C&C++相关文章