给你举个例子你就明白了
while((c = getchar()) != EOF)
{
if(c == '\n')
++nl
}
printf("%d", nl)
这个输出printf是在循序执行完毕之后才有的。所以每次输入都没有输出,到最后输入完了才出结果
while((c = getchar()) != EOF)
{
if(c == '\n')
++nl
printf("%d", nl)
}
而这个输出printf是在循序里面的。所以每循环一次输入都会输出。
区别就在于输出函数是什么时候执行的,它执行了才会有输出。
一、控制字符不同
1、换行符:换行的英文newline,控制字符可以写成LF,即Line Feed。
2、回车符:回车的英文return,控制字符可以写成CR,即Carriage Return;
二、本义不同
1、换行符:是光标往下一行
2、回车符:是光标重新回到本行开头。
扩展资料:
不同语言的换行符
一、HTML语言
<br>
<br>可插入一个简单的换行符,<br>标签是空标签(意味着它没有结束标签,因此这是错误的:<br></br>)。在[1]
XHTML 中,把结束标签放在开始标签中,也就是 <br />。
请注意,<br>标签只是简单地开始新的一行,而当浏览器遇到 <p>标签时,通常会在相邻的段落之间插入一些垂直的间距。
二、C语言
"\n"
C语言中的换行符是"\n",就是输入完一行内容后,光标转到下一行的起始位置 。
三、C++语言
"endl"
C++语言中的换行符是endl。
例如:
cout<<"这是换"<<endl<<"行符";
将显示输出:
这是
换行符。
四、word换行符
word换行符是一种换行符号,它的作用是换行显示,但是它不是真正的段落标记,它的换行不是真正意义上的重起一段,因此被换行符分割的文字其实仍然还是一个段落中的,word中基于段落的所有操作都是不会识别换行符为段落结尾的。
五、VB语言
在VB中,若命令太长,在一行输入不方便,可以在代码后输入空格和下划线再换行。
例如:
Private Declare Function mciSendString Lib winmm. _
dll Alias mciSendStringA (ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, ByVal uReturnLength _
As Long, ByVal hwndCallback As Long) As Long。
参考资料来源:百度百科-换行符
回车符(CR) 是 '\r' 让输出位置 移动到 本行 的起始 位置。回车换行符(CRLF) 是 '\r' 和 '\n' , 输出位置 移动到 下一行 的起始 位置。
老 DOS 系统 用 CRLF 为文本 的行结束符。老 苹果 系统 用 CR 为文本 的行结束符。
unix,linux 用 LF 为文本 的行结束符。
CR -- 英文 carriage return。
LF -- 英文 line feed。