'\r'和'\n'的区别事例
来源:百度知道 编辑:UC知道 时间:2024/06/09 08:48:11
我知道了一个是回车,一个是换行的意思,但是根据这段代码
始终想不通:
#include<stdio.h>
#include<conio.h>
void main()
{
int k;
char usern[15];
for(k=0;k < 15;k++)
{
usern[k]=getch();
putchar('*');
if(usern[k] == '\r')
{
usern[k]= '\0';
break;
}
}
}
不知道这个地方为何用'\r'而不用'\n'?
能详细解释下了么?
~~
还是没懂,我加点分吧~
#include<stdio.h>
void main()
{
char ans;
int inum,cnt;
ans='\n';
while(ans=='\n')
{
ans=' ';
printf("情输入一个数\n");
scanf("%d",&inum);
cnt = 0;
while(cnt<inum)
{
printf("\n%d : %c\n",cnt,cnt);
cnt++;
}
printf("\n您是否继续输入?\n");
fflush(stdin);
scanf("%c",&ans);
}
始终想不通:
#include<stdio.h>
#include<conio.h>
void main()
{
int k;
char usern[15];
for(k=0;k < 15;k++)
{
usern[k]=getch();
putchar('*');
if(usern[k] == '\r')
{
usern[k]= '\0';
break;
}
}
}
不知道这个地方为何用'\r'而不用'\n'?
能详细解释下了么?
~~
还是没懂,我加点分吧~
#include<stdio.h>
void main()
{
char ans;
int inum,cnt;
ans='\n';
while(ans=='\n')
{
ans=' ';
printf("情输入一个数\n");
scanf("%d",&inum);
cnt = 0;
while(cnt<inum)
{
printf("\n%d : %c\n",cnt,cnt);
cnt++;
}
printf("\n您是否继续输入?\n");
fflush(stdin);
scanf("%c",&ans);
}
学到东西了,原因是在这两个函数上getch()和scanf()上.'\n'和'r'其实都是回车键产生的字符.只是scanf()或getchar()遇到回车键就会获得'\n'
而getch()遇到回车就得到'\r',为了检验我所说.写了程序检验:
main()
{
char a;
scanf("%c",&a);
printf("%d",a);
getch();
}
/*结果是10,也就是'\n'*/
main()
{
char a;
a=getch();
printf("%d",a);
getch();
}
/*结果是13,就是'\r'*/
造这个的原因是stdin流.因为getch()不从stdin流中读取数据,而是读取用户即时输入数据.
因为你在键盘上按的回车是'\n',而不是'\r'.
所以循环的条件就不成立了.
c语言编程时(windows系统)
\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
如:
int main() {
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 背覆盖了
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是下一行的行首拉
int main() {
cout << "hahaha" << "
SAP's R/3
You'r out of your mind
-CO-O-CO-是什么官能团? R-CO-O-CO-R' 的化学名称是什么?
we're going use R.R.transport.什么意思?谢谢
Intel(R)Celeron(R)CPU2.40GHz2.39GHz,256MB这样配置
'\n'与'\r'有什么区别?
Inter''R'' Pentium''R''4. CPU2.93GHZ中的''R''是什麽意思?
Capital 'R'! Capital 'T'!
Roket Queen 跟 G n'R 有什么关系?
ac'97 driver intel(r) 82801aa controller