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