Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用putchar()在整数末尾添加换行符(C编程)?_C_String_File Io_Printf - Fatal编程技术网

使用putchar()在整数末尾添加换行符(C编程)?

使用putchar()在整数末尾添加换行符(C编程)?,c,string,file-io,printf,C,String,File Io,Printf,我是C编程新手,我正试图弄清楚如何在使用putchar()函数打印int值后添加换行符(“\n”)。在K&R的《C编程》一书中,他们提供了下面的脚本,但所有字符都打印在同一行上。如何修改代码以每行打印一个字符 #include <stdio.h> void main() { int c; c = getchar(); while (c != EOF) { putchar(c); c = getchar(); } } 但我想知道C编程和putchar()函数是否

我是C编程新手,我正试图弄清楚如何在使用putchar()函数打印int值后添加换行符(“\n”)。在K&R的《C编程》一书中,他们提供了下面的脚本,但所有字符都打印在同一行上。如何修改代码以每行打印一个字符

#include <stdio.h>

void main() {
int c;

c = getchar();
while (c != EOF) {
    putchar(c);
    c = getchar();
 }
}
但我想知道C编程和putchar()函数是否有类似的功能:

putchar(str(c)+"\n");

有点像你在python中做的那样。谢谢

函数一次只写一个字符。如果要在每个字符后打印换行符,请添加对
putchar
的额外调用,为其指定换行符:

putchar(c);
putchar('\n');

添加另一个
putchar
调用
putchar('\n')
1)C不是脚本语言。2) putchar不是putstring。3) 无意冒犯,但从你们的课文来看,我建议你们从一本好书中学习这门语言,不要跳过这一章。4)
void main()
是无效的签名。最小签名是
intmain(void)
。5) K&R不包括现代C;找一本最近的书,至少教C99,更好的标准C,即C11。除了@Olaf给出的智慧,如果你想学习C,那么一定要启用编译器警告,至少在编译字符串中包含
-Wall-Wextra
,阅读并从编译器告诉你的内容中学习(这些天他们做得很好),最重要的是,在代码编译干净之前,不会接受代码,没有警告。@Olaf&@David,谢谢你的建议!我认为
void main()
意味着main()函数不需要返回值,但听起来好像我搞错了,肯定会得到一本新书。(我正在学习加州大学伯克利分校CS61C-计算机体系结构-他们建议阅读K&R来学习C。)@Mucuansel:
main
必须在托管环境中返回
int
(哪些是POSIX、Windows、OSX等)平台。但是,仅此函数有一个特殊的例外:您不需要显式
返回0;
main
是唯一一个隐式
返回0的函数;
如果代码到达函数末尾时没有显式
返回
。使用显式
返回0;
是很好的编码方式e、 不过。
putchar(c);
putchar('\n');