C语言(关于转义字符)\n

请问转义字符< \n >的用法:例如: 1 printf("\n c=%d+%d=%d",a,b,a+b); 2 printf("c=%d+%d=%d \n",a,b,a+b);各中转义字符 \n 有什么意义 一个在前 一个在后

\n是换行符,就是表示重起一个新行开始输出。
在字符串的什么位置,那么输出的时候也对应在那个位置换行
比如printf( ""123\n456 );
\n在123之后,所以输出123结束便重起一行开始输出,结果是:
123
456

'\n'出现在scanf里行为比较特殊,比如
scanf( "\n\n%d\n", &n );你认为要输入2个换行,但scanf在遇到格式化控制符之前(比如这里的%d)会自动略过所有的空白字符(空格,tab,换行之类的),所以结果是你不需要输入2个换行然后才可以输入数值到n里面,但'\n'出现在格式化控制符之后时,scanf不会自动略过它,而scanf默认是以空白字符来分隔输入的(也就是scanf默认无视\t\n' '),所以你在输入之后,由于输入的空格和换行无法被scanf读取到,所以只有输入一个非空字符你才能使scanf结束。因此在scanf里添加\n,\t或者空格一种多次一举的做法,完全没必要,基于空白字符的格式化输入,都可以在输入时自己DIY,因为 scanf默认忽略这些空白字符。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-14
\n是换行符;就相当于你按键盘的回车。1 printf("\n c=%d+%d=%d",a,b,a+b);输出就是一行空的,在输出c=''''''''''''';2 printf("c=%d+%d=%d \n",a,b,a+b);输出c='''''''''''''。在换行,就是输出一行空的。
第2个回答  2013-12-14
\n 代表换行
在前表示 先输出换行再输出后面的东西
在后 表示先输出c=..再输出换行
相似回答