这有什么作用:while((c= getchar()) != 'n' && c != EOF);
What does this do : while((c= getchar()) != ' ' && c != EOF);
while((c= getchar()) != 'n' && c != EOF);
我在使用gets()输入字符串时遇到了一个问题。我在谷歌上发现它在输入缓冲区中保持'n'的值。我在这里搜索,发现上面的代码来解决我的问题。然而,我还没有完全掌握它。这有什么用?谁来给我点化一下。
c++中的赋值也会产生被赋值的值。因此,c= getchar()
从文件中读取下一个字符,(c= getchar()) != 'n'
将读取的字符与换行符进行比较。还有一个特殊的EOF
值的测试,以确保它不会一直试图读取,一旦你到达文件的末尾。
在while
和结束分号之间没有语句,因为不需要做任何其他事情,您将扔掉输入。
代码引入了一个while
循环。它的退出条件将getchar()
返回的值赋给整数c
,并检查它是否等于换行符('n'
)或EOF
。如果是,则退出循环。如果不是,则提取下一个字符,依此类推。
代码基本上跳过所有字符,直到到达下一个换行符或EOF
。它相当于:
for (;;)
{
c = getchar(); // c has been declared elsewhere
if (c == 'n' || c == EOF)
break;
}
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 警告处理为错误这里有什么问题
- 什么时候调用组成单元对象的析构函数
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- 如何确定我已使用非编码文件到达 EOF?
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 什么时候在C++中返回常量引用是个好主意
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- C++避免重复声明的语法是什么
- c++库的公共头文件中应该包含什么
- 在getline上检查eof()有什么区别,即while(!getline().eof())和简单地检查while(ge
- 在C++流中,eof(),fail(),bad()和good()有什么区别
- cin.eof() 的值代表什么C++?
- 什么是 EOF 键C++
- C++EOF?我做错了什么
- 这有什么作用:while((c= getchar()) != 'n' && c != EOF);
- 还有什么比使用istream eof更好的方法来读取文件直到它结束呢?
- 什么是 std::filebuf 等价于 ifstream::eof ::fail 和 ::tellg
- 不使用 EOF 位作为流提取条件的真正原因是什么?