为了账号安全,请及时绑定邮箱和手机立即绑定

请问printf是输出后换行吗?如果不是,什么才是输出后换行呢?是,什么才是输出后不换行呢?

请问printf是输出后换行吗?如果不是,什么才是输出后换行呢?是,什么才是输出后不换行呢?

一只斗牛犬 2019-04-05 07:02:29
顺便讲一下c++中的输入语句与输出语句,不想要cin和cout,说了也可以。pascal换c++中,所以最好把read(读入),readln(读入后换行),write(输出),writeln(输出后换行),和c++读入输出语句结合一下,方便记忆。解释一下include<iostream>和include<stdio.h>的区别谢了!
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

iostream 是输入输出流类库, stdio.h 是C语言的标准输入输出流函数库的头文件,不是类,是为兼容C语言标准库才用的,不建议用,很多C++编译器甚至不支持这个东西。。。。
printf 是C语言的东西,他是一个函数,字面意思是打印,你输出的是文本,所以显示屏是按文本规则输出字符的,文本要换行需要碰到换行符号,这是最早打字机定义的一种字符 \r 也就是10, 你只要输出一个 他就回换一行,不过现在换行符用的少,改用\n回车字符 13 只有碰到这两个字符才会换行,writeln 会换行是他替你填了 \n\r (回车换行)。。。

这两个字符的来历是来源于一种古老的工具,打字机,打字机打字打到头,或者你要提前换行,你就要输入一个特殊字符 \n 回车,将小车拉到最左边, \r 纸张换行,目前的打印机和显示屏,以及文本显示工具都还是按这个方式,只是简单的多 , 一个 \r 或\n就能换行,但是 \n\r 连用代表换一行, 你要换行只要输出下面。。。
\r , \n ,\n\r 三种任意一种, 通常写法就是 "你好!\n不好" 这就是两行的字 ,但windows记事本用的是\n\r。。。 网络协议中的文本通常也是\n\r,平常则常用\n。。。

查看完整回答
反对 回复 2019-04-08
?
哔哔one

TA贡献1854条经验 获得超8个赞

procedure 是过程关键字,  function 是函数关键字  ,c++ 和c 都是省去了这种关键字,所以没有对应。。。。
  procedure 可以认为是无返回值的函数。。。。 
procedure proc(a:int) ;   就等于  c 中的  void proc(int a);  procedure 和void不能等价,
procedue 是个类型说明的关键字,C语言和C++没有这种东西,所以不能完全等价
你可以写   void proc(void)    却不能写   procedure proc(procedure)
      pascal中有类型说明符 号,  var   变量声明(此后的代码全是变量声明),等价basic中的 
 dim ,c,c++中没有。。。。  procedure  过程说明符  等价 basic 中的 Sub  ,c中同样没有。。。function   函数说明  basic中也是 funciton,c 和c++没有。。。。。。。
   c和C++ 对过程和函数不做区分,  只要返回值是  void函数就是过程,void是返回值类型,不是过程声明关键字,c语言,c++出现较晚,语法不是很严格,很多感觉不必要的关键词都没有定义了。。。
    bisic  pascal  返回值都写在后边   如  function a(i:char):char,c,和c++是前面 ,
char a(char i)  ,可以看出在对应关系上 function  是多余的一个关键字,procedure 也一样 。。。。
   其实函数和过程还是有区别的,主要区别是过程退出时,什么都不用管,而函数必须要去复原堆栈,因为要取返回值,调用者需要调用前保存返回的堆栈位置,过程则不用保存,函数调用后还要多一个步奏,取返回值,取完后复原堆栈,在编译上有区别,如果你有返回值却从来不用,倒不如写成  procedure  运行更快。。。。


查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 1757 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信