C语言中,为什么有些程序最后输出时要加换行符,有的不用?

比如
#include<stdio.h
void main()
{
int a,b,c,max;
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
if (a>=b)
max=a;
else
max=b;
if (c>max)
max=c;
printf("max=%d",max); 《为什么这里不加换行符?》
}

另一个例子
#include<stdio.h>
void main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k)
printf("%d,%d,%d\n",i,j,k); 《为什么这里又加换行符?》
}
}
#include "stdio.h"
main()
{
int i,j;
printf("\1\1\n");
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf("%c%c",219,219);
printf("\n");
}
}

最后两步改为 printf("%c%c\n",219,219);的话,结果一样吗?

还有
main()
{
int i,j,k;
printf("\n"); 《这个怎么在前面就开始输出换行符了?这样的话,输出的程序结果是什么呢?》
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k)
printf("%d,%d,%d\n",i,j,k);
}
}

不一样 !!!!!!!!!
【1】一般来说
printf(任何东西)+printf("\n");

printf("任何东西\n");相同
【2】你那个 ,你要看仔细了 !!!
原因很明显就是 for语句 【紧跟一句语句】 可以不加大括号 作为for的循环体

相当于
#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()

{
int i,j;
printf("\1\1\n");
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
{
printf("%c%c",219,219);
}
printf("\n");
}
getch();
}
你看一样吗 , 都不在一个循环体里。
意思是 内循环后面加 换行符,如果改成每次都换行出不来【阶梯】的效果了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-05
没什么特别意思,每个人编写程序的习惯不一样。有些时候输出多个结果时,加个换行符,输出直观不易混淆 结果一样的 最后那个程序写那个的目的是为了让结果出现在运行后页面的第二行,没什么其他意思。
第2个回答  2010-09-05
换行说实在的,它并不是一定要的
很多时候,换行只是因为输出地东西因此会好看点。
main()
{
int i,j,k;
printf("\n"); 《这个怎么在前面就开始输出换行符了?》
这里你就算不换行也是可以的,无所谓。
第3个回答  2010-09-05
加换行符之后,下次运行程序时光标是在下一行,没加就在上次结果后面输入字符,加不加都行,加了之后看着方便。
第4个回答  2010-09-05
擦,很简单的道理,换行符只是使得光标位置换到下一行开始。第一个例子光标紧跟输出结果后面,第二个例子光标在输出结果下一行开始处。明白?

参考资料:谭浩强 C语言程序设计

相似回答