C语言里的puts()函数怎么用

C语言里有个puts()函数,从来也没用过
今天看到书有个让用“*”打印出一个菱形的程序,是这样的:
#include"stdio.h"
#include"math.h"
main()
{
int i,j;
for(i=-3;i<=3;i++)
for(j=-3,puts("");j<=3;j++)
abs(i)+abs(j)==3?printf("*"):printf(" ");
}里面用到了这个函数,但想不通它在里面有什么用,我把puts()去掉,结果打印出的*都在一行上了,所以它应该有换行的作用,但具体怎么用,还是不会,哪位大哥大姐帮忙解释下这玩意儿怎么用?最好说的通俗易懂点,麻烦举个简单的例子说明下,谢啦
别对我那程序报怀疑态度啊,那个程序是正确的,不信自己运行下,可以输出一个菱形的,我是问程序里面的puts()函数起什么作用?重点回答下

puts就是输出字符串啊。

int puts(
const char* string
);

MSDN的例子
/* PUTS.C: This program uses puts
* to write a string to stdout.
*/

#include <stdio.h>

void main( void )
{
puts( "Hello world from puts!" );
}

运行结果就是
Hello world from puts!

你要输出换行的话,就用 puts( "\n" );

用法很简单啊,就是把一个C样式的字符串当参数传过去。

//-----------------------------------------

我刚刚试过了
puts( "" )的确可以起到换行的作用。

The puts function writes string to the standard output stream stdout, replacing the string's terminating null character ('\0') with a newline character ('\n') in the output stream.

当puts遇到\0时,会输出一个\n,也就是换行。
所以puts( "" )时,因为字符串本身长度为0,所以第一个字符就是\0,puts会输出一个\n,所以起到了换行的效果。

也就是说, puts( "" )跟puts( "\0" )是等效的,也等效於printf( "\n" )
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-04
puts是输出函数。
只有一个参数 要求是字符串。
比如
puts("abc");
函数功能 是输出这个字符串,并加上换行
相当于printf("abc\n");

也就是说 puts是printf的简化版,更高效一些。
第2个回答  2008-04-17
puts是输出一个字符串到控制台,并自动换行。
所以你的put(“”)就能起到换行功能!
第3个回答  2015-05-30
puts()函数是C语言中的输出函数。
uts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。
函数原型:int puts(const char *string);
参数:string const的字符类型的指针
返回值: int类型,执行成功输出的字节数,执行失败返回EOF。
注意:puts输出字符串时要遇到'\0’也就是字符结束符才停止,所以在字符串的最后一个要是 '\0'符。
实例:
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i;
char string[20];
for(i=0;i<10;i++)
string[i]='a';
string[10]='\0';//注意
puts(string);
getch();
return 0;
}
第4个回答  2008-04-17
o
相似回答