《C和指针》中关于EOF的问题
来源:互联网 发布:海康网络视频解码器 编辑:程序博客网 时间:2024/04/28 20:56
问题来源:《C和指针》P70
在这页中,有这样一段代码,它在某些情况下会爆错误,而这些错误也是我之前没有关注过的。
char ch;...while( (ch=getchar()) != EOF)...
- ch是char类型,占8bit,而getchar()返回int,为32bit。因此,将getchar()取得的值强转为char类型必然会截去一部分,当把这个值与EOF做比较时,系统又会将8bit扩充为32bit。在这个过程之中,如果前面的24bit有值不全为0的话,必然会面临数据不一致。
- 由于EOF定义为-1,在无符号字符集的机器中运行时,永远都不会相等,因此循环会永远进行下去。
0 0
- 《C和指针》中关于EOF的问题
- C和指针,char扩展int 以及EOF的问题!
- 关于C语言的EOF
- 《c和指针》笔记--getchar()与EOF
- 关于c语言中EOF用法的理解
- 【C/C++】关于引用和指针的问题
- c中关于指针的声明和定义的一些问题
- c中关于指针的声明和定义的一些问题
- 关于c语言中返回值和返回指针的问题。
- 关于C的指针问题
- C语言中'/0'和EOF的区别
- 关于C语言等程序中指针相关的问题
- 关于c中指针传参的问题
- 关于c语言中double指针的初始化问题
- 关于c语言字符串中sizeof指针的问题
- getchar()和EOF的问题
- C中关于字符串和指针的一点学习心得
- 关于C中指针和数组的一点学习心得
- PAT A1006
- JAVA中的接口和抽象类
- spring项目启动后,获取bean的方法总结
- 线程执行 Q&A
- 数组的排序方法
- 《C和指针》中关于EOF的问题
- PAT A1008
- 下载文件组件
- 对于泥球型状态机,估计你也苦恼!
- PHP 判断中英文
- Swift Playground
- String字符串类型详解以及stringbuffer
- Unity Shader-法线贴图(Normal)及其原理
- PAT A1009