Tag: putchar

putchar可以打印整数吗?

如何在putchar的帮助下打印整数。 我想在不使用外部存储的情况下这样做。 去年在一次采访中提出了这个问题。

是getchar()和putchar()函数还是宏?

我提到了两个可靠的信息来源,两者似乎对同一事物有不同的定义: http://www.cplusplus.com/reference/clibr%E2%80%A6 http://www.ocf.berkeley.edu/~pad/tigcc/doc/html/stdio_fputchar.html 第一个来源说putchar()是一个函数,就像getchar() ,但在第二个链接中它表示putchar()是一个宏。 我的书说getchar()是一个宏。 哪个是对的?

使用getchar从命令行参数编码程序,并使用putchar发送到解码

所以我正在尝试制作编码/解码程序。 到目前为止,我陷入了编码部分。 我必须能够从命令行参数中获取消息,并使用种子随机数对其进行编码。 该数字将由用户作为第一个参数给出。 我的想法是从getchar获取int并只是添加随机数结果。 然后我想把它恢复到标准输出,以便另一个程序可以将其作为参数读取,以使用相同的种子对其进行解码。 到目前为止,我无法让putchar正常工作。 关于我应该解决或关注什么的任何想法? 提前致谢! #include #include int main(int argc, char *argv[]) { int pin, charin, charout; // this verifies that a key was given at for the first argument if (atoi(argv[1]) == 0) { printf(“ERROR, no key was found..”); return 0; } else { pin = atoi(argv[1]) % 27; // […]

C编程语言,第1章练习1.10(Getchar和Putchar)

我已经在这个工作了2个小时而且我被卡住了……我在网上找到了答案,但这并不能帮助我学习我显然缺少的概念。 提示:编写程序将其输入复制到其输出,用\t替换每个选项卡,用\b替换每个退格,用\\替换每个反斜杠。 这使得标签和退格以明确的方式可见。 这是我提出的,它没有替换tab或\用指示的putchar ,它只是将它添加到它前面。(我没有做退格,因为我无法真正输入退格…) : 这就是我阅读代码的方式。 我错过了什么?: “有一些整数c等于输入。当输入不等于文件结束时继续。如果输入是tab然后输出\t 。如果输入是\则输出\\ 。输入输入到控制台“。 int c; while((c=getchar())!=EOF) { if(c==’\t’) { putchar(‘\\’); putchar(‘t’); } if(c==’\\’) { putchar(‘\\’); putchar(‘\\’); } putchar(c); }

如何在C中打印没有库函数的变量的charcater,字符串或值?

例如,如果我不应该使用像printf,putchar这样的标准库函数,那么如何轻松地将字符打印到屏幕上。 有没有简单的方法来做到这一点。 我不太了解系统调用,如果我必须使用它们,那怎么样? 那么任何一个建议都可以轻松打印而不使用库函数?

putchar()vs printf() – 有区别吗?

我目前在第1.5.1章文件复制中并制作了如下程序: #include /* copy input to output; 1st version */ main() { int c; c = getchar(); while (c != EOF) { putchar(c); c = getchar(); } } 如果我像这样运行它: PS cc copy-0.c PS ./a Black Black White White Gray Gray 输出是我输入的。 这是我为实验目的而制作的一个程序: #include /* copy input to output; 1st version */ main() { int c; […]

getchar()等效于scanf(“%c”)和putchar()等效于printf(“%c”)?

a = getchar()等效于scanf(“%c”,&a); ? putchar(a)等同于printf(“%c”,a); 其中a是char变量?

什么是标准输入缓冲区?

#include int main(void) { int c; c = getchar(); putchar(c); c = getchar(); putchar(c); c = getchar(); putchar(c); return 0; } 我想了解为什么三次调用的函数只使用一次输入的行。 有人解释说,在这种情况下我们使用标准输入缓冲区,那是一块内存。 我想读一些关于它的东西。 你能告诉我一些资源吗?

为什么putchar,toupper,tolower等采用int而不是char?

在C中,字符串是char( char * )的数组,字符通常存储在char 。 我注意到libC中的一些函数是作为参数整数而不是char。 例如,让我们使用函数toupper()和tolower()都使用int 。 手册页说: 如果c不是无符号字符值或EOF,则这些函数的行为是不确定的。 我的猜测是,使用int , toupper和tolower能够处理unsigned char和EOF 。 但事实上EOF在实践中(有没有关于它的价值的规则?)一个可以用char存储的值,并且由于这些函数不会将EOF转换成其他东西,我想知道为什么toupper不会简单地采取一个char作为参数。 在任何情况下,为什么我们需要接受不是字符的东西(例如EOF)? 有人能为我提供相关的用例吗? 这与fputc或putchar类似,它也采用转换为unsigned char 。 我正在寻找这种选择的确切动机。 我想要被说服,我不想回答,我不知道有一天有人问我。

理论在getchar()和putchar()函数背后

我正在研究K&R的“C编程语言”,例子1.5让我难过: #include /* copy input to output; 1st version */ int main(int argc, char *argv[]) { int c; while ((c = getchar()) != EOF) putchar(c); return 0; } 我知道’getchar()’需要一个’putchar()’字符来显示。 但是,当我在终端中运行程序时,为什么我可以传递’putchar()’的整行字符来显示?