c语言中,puts和printf函数有什么区别?

Python08

c语言中,puts和printf函数有什么区别?,第1张

puts和printf函数的区别如下:

1、不同的换行符

puts()函数会自动在字符串末尾添加一个换行符,这意味着它会自动换行,而printf()函数没有此功能。

2、输出内容不同

puts()函数只能输出字符串,不能对输出和转换指令进行标准化,而printf()函数可以。

扩展资料:

调用格式

1、printf

格式字符串包含三种类型的对象:(1)字符串常量;(2)格式控制字符串;(3)转义字符。字符串常量按原样输出并在显示中用作提示。输出项在输出表列中给出,格式控制字符串和每个输出项在数量和类型上应一一对应。

格式控制字符串是以%开头的字符串,后跟各种格式控制字符,以指示输出数据的类型、宽度、精度等。

2、puts

(1)puts()函数只能输出字符串,不能输出值或执行格式转换。

(2)字符串可以直接写入puts()函数。例如:如:puts("Hello,world!")。

(3)puts与printf相同,puts()函数的作用与printf语句相同。注意:puts将在输出字符串之后自动输出回车。

参考资料来源:百度百科-puts

参考资料来源:百度百科-printf

c中的puts函数只用来输出字符串,没有格式控制,它里面的参数就是存放字符串的字符数组的数组名就可以了,

printf函数输出格式有很多,类型也不用说了,可以根据不同格式加些转义字符以达到格式华的输出,比如换行,制表等等....

scanf里面我们无法输入空格,当你输入空格时,空格后面的内容就没有放到你指定的变量里面。例如

char

a[4]

scanf

("%s",a)//输入一个字符串,%s是表示字符串

for

(i=0i<=4i++)

printf("%c",a[i])

运行的时候你输入i

am试试,它得到的是i,而后面的

空格和am就没有了。

换句话说,scanf当遇到空格时,它就把它当做'\0',就是自动停止

如果你用gets的话

char

a[4]

a=gets()//输入一个字符串,%s是表示字符串

for

(i=0i<=4i++)

printf("%c",a[i])

你还是输入i

am的到的就是i

am