首页 文章
  • 0 votes
     answers
     views

    为什么我在Raspberry-Pi Jessie Lite上启动时无法访问stdin?

    我有这个代码 . 我想要做的是等待用户按“q”结束程序 . . ...starting few threads, which use fflush(stdout) (just saying...) . char n = 0; while (n != 'q') { n = getchar(); //tried to use scanf() here as well printf(&q...
  • 45 votes
     answers
     views

    C:如何模拟EOF?

    我目前正在阅读K&R的书并在第一部分中输入示例,并且有几个例子如下: while((c = getchar()) != EOF) { //do something } 我正在Windows框中测试这些示例,从而从 cmd 提示符运行已编译的exe文件 . 要测试上面的例子,我该如何模拟 EOF ?也就是说,从命令提示符测试示例时,基本上如何使循环停止?
  • 7 votes
     answers
     views

    Putchar和Getchar在C中

    我正在阅读K&R的The C Programming Language,并对putchar和getchar感到困惑 . 我制作了一个程序,你输入10个字符,程序将它们打印回屏幕 . #include <stdio.h> int main() { int i; int ch; for(i = 0; i < 10; i++) { p...
  • -3 votes
     answers
     views

    为什么类型int需要处理EOF并返回getchar()?

    如书中所述 - 问题在于区分输入的结束和有效数据 . 解决方案是当没有更多输入时,getchar返回一个独特的值,这个值不能与任何真实字符混淆 . 这个值被称为EOF,对于"end of file."我们必须声明c是一个足够大的类型,以保存getchar返回的任何值 . 我们不能使用char,因为除了任何可能的char之外,c必须足够大以容纳EOF . 因此我们使用int . ...
  • 1 votes
     answers
     views

    无限循环和奇怪的字符:while(chars = fgetc(map)!= EOF)

    我正在尝试使用fopen()和fgetc()读取文件(map.txt),但我得到一个无限循环和奇怪的字符作为输出 . 我尝试过不同的条件,不同的可能性,循环总是无限的,就好像EOF不存在一样 . 我想用文本文件(Allegro)创建一个map-tile基本系统,为此我需要学习如何阅读它们 . 所以我试着简单地读取文件并逐个字符地打印它的内容 . void TileSystem() { t...
  • 3 votes
     answers
     views

    EOF练习1-6 K&R C编程语言

    这可以直接从K&R书中获取: !=的优先级高于=,这意味着在没有括号的情况下,关系测试!=将在赋值=之前完成 . 所以语句c = getchar()!= EOF相当于c =(getchar()!= EOF)这具有将c设置为0或1的不期望的效果,这取决于getchar的调用是否返回文件末尾 . (更多内容见第2章 . )练习1-6 . 验证表达式getchar()!= EOF是0还是1 . 我...

热门问题