42得票9回答
我正在尝试理解 getchar() != EOF。

我正在阅读《C程序设计语言》一书,目前为止我理解了所有内容。但是当我遇到getchar()和putchar()时,我无法理解它们的用途,更具体地说,下面的代码是做什么的。main() { int c; while ((c = getchar()) != EOF) ...

23得票3回答
为什么 putchar、toupper、tolower 等函数使用 int 而不是 char 作为参数?

在C语言中,字符串是char数组(char *),字符通常存储在char中。我注意到libC中的一些函数将整数作为参数而不是char。 例如,让我们看看toupper()和tolower()两个函数都使用int。手册上说: 如果c不是无符号char值或EOF,则这些函数的行为是未定义的。 ...

18得票5回答
putchar()和printf()有什么区别?

我目前在1.5.1章节“文件复制”中,并编写了以下程序:#include <stdio.h> /* copy input to output; 1st version */ main() { int c; c = getchar(); while (c ...

12得票3回答
打印EOF的值

在 Kernighan 和 Ritchie 的《C程序设计语言》中: '编写一个程序以打印 EOF 的值' 我写了:#include <stdio.h> main(){ int c; c = getchar(); if ((c = getchar()...

10得票4回答
putchar() 输出奇怪的结果,为什么会这样?

如果我在标准输入流中输入单词“Hello World”,那么这个程序将会打印出奇怪的方框符号,而不是预期的“Hello World”回传到标准输出。#include <stdio.h> int main(void) { // print out all character...

10得票3回答
getchar()和putchar()函数的原理

我正在学习 K&R 的《C程序设计语言》,但是例子1.5让我困惑了: #include <stdio.h> /* copy input to output; 1st version */ int main(int argc, char *argv[]) { in...

9得票4回答
如何在C语言中不使用库函数打印任意字符、字符串或变量的值?

如果例如我不应该使用标准库函数如printf(),putchar(),那么我如何将字符打印到屏幕上? 有没有一种简单的方法来做到这一点。我对系统调用不是很了解,如果我必须使用它们,那么我该如何使用呢? 那么有人可以建议一种不使用库函数的简单打印方式吗?

8得票4回答
putchar('0' + num); 是什么意思?

我正在尝试理解putchar('0' + r);的工作原理。下面的函数将整数转换为二进制。 void to_binary(unsigned long n) { int r; r = n % 2; if (n >= 2) to_binary(n / 2); ...

8得票8回答
C语言程序设计,第一章练习1.10(Getchar和Putchar)

我已经在做这个问题2个小时了,但还是卡住了...我在网上找到了答案,但这并不能帮助我理解我显然缺失的概念。 提示:编写一个程序,将其输入复制到其输出,用\t替换每个制表符,用\b替换每个退格符,用\\替换每个反斜杠。这将以一种明确的方式显示制表符和退格符。 这是我想出的代码,它没有将tab...

7得票9回答
在C语言中的Putchar和Getchar函数

我正在阅读K&R的《C程序设计语言》,对于putchar和getchar感到困惑。我写了一个程序,可以输入10个字符,然后程序将它们打印回屏幕上。 #include <stdio.h> int main() { int i; int ch; f...